aboutsummaryrefslogtreecommitdiff
path: root/ext/session/changeset.c
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2014-08-19 00:26:17 +0000
committerdrh <drh@noemail.net>2014-08-19 00:26:17 +0000
commit2967e0cc9c1c21a8ab06a294ee9470d558e3b6a9 (patch)
tree9522b157ebc356898415bc6319f6dceaf8689cfb /ext/session/changeset.c
parent9f674f2600e7009328fbeb8d5c1614875439bb8d (diff)
downloadsqlite-2967e0cc9c1c21a8ab06a294ee9470d558e3b6a9.tar.gz
sqlite-2967e0cc9c1c21a8ab06a294ee9470d558e3b6a9.zip
Improved response to error conditions in the ".session" shell command and
in the "changeset" command-line program. FossilOrigin-Name: b69f7dd1f35846c3bb9f4f160d50c4f03796f887
Diffstat (limited to 'ext/session/changeset.c')
-rw-r--r--ext/session/changeset.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/ext/session/changeset.c b/ext/session/changeset.c
index 1ff5cde87..edb43ff8e 100644
--- a/ext/session/changeset.c
+++ b/ext/session/changeset.c
@@ -232,8 +232,10 @@ int main(int argc, char **argv){
exit(1);
}
readFile(argv[3], &szB, &pB);
- sqlite3changeset_concat(sz, pBuf, szB, pB, &szOut, &pOutBuf);
- if( fwrite(pOutBuf, szOut, 1, out)!=1 ){
+ rc = sqlite3changeset_concat(sz, pBuf, szB, pB, &szOut, &pOutBuf);
+ if( rc!=SQLITE_OK ){
+ fprintf(stderr, "sqlite3changeset_concat() returns %d\n", rc);
+ }else if( szOut>0 && fwrite(pOutBuf, szOut, 1, out)!=1 ){
fprintf(stderr, "unable to write all %d bytes of output to \"%s\"\n",
szOut, zOut);
}
@@ -300,8 +302,10 @@ int main(int argc, char **argv){
fprintf(stderr, "cannot open \"%s\" for writing\n", zOut);
exit(1);
}
- sqlite3changeset_invert(sz, pBuf, &szOut, &pOutBuf);
- if( fwrite(pOutBuf, szOut, 1, out)!=1 ){
+ rc = sqlite3changeset_invert(sz, pBuf, &szOut, &pOutBuf);
+ if( rc!=SQLITE_OK ){
+ fprintf(stderr, "sqlite3changeset_invert() returns %d\n", rc);
+ }else if( szOut>0 && fwrite(pOutBuf, szOut, 1, out)!=1 ){
fprintf(stderr, "unable to write all %d bytes of output to \"%s\"\n",
szOut, zOut);
}