X-Git-Url: http://dolda2000.com/gitweb/?p=statserve.git;a=blobdiff_plain;f=statdbput.c;h=3f5ea08277f47201d406507ec89ffa858df1c492;hp=569afe1316ee1b9f71e99ac3028dc14653abedf6;hb=HEAD;hpb=ea4e0b7174a8372eaa3b9519e7ca98e6ba78c6d7 diff --git a/statdbput.c b/statdbput.c index 569afe1..3f5ea08 100644 --- a/statdbput.c +++ b/statdbput.c @@ -158,7 +158,7 @@ static int dodir(char *path, char *ctype) } buffree(fnbuf); closedir(dir); - return(0); + return(rv); } static void usage(FILE *out) @@ -212,6 +212,8 @@ int main(int argc, char **argv) while(1) { if((ret = env->txn_begin(env, NULL, &txn, 0)) != 0) { fprintf(stderr, "statdbput: could not begin transaction in %s: %s\n", dbpath, db_strerror(ret)); + db->close(db, 0); + env->close(env, 0); return(1); } rv = 0; @@ -255,8 +257,12 @@ int main(int argc, char **argv) } if((ret = txn->commit(txn, 0)) != 0) { fprintf(stderr, "statdbput: could not commit transaction in %s: %s\n", dbpath, db_strerror(ret)); + db->close(db, 0); + env->close(env, 0); return(1); } + db->close(db, 0); + env->close(env, 0); if(ul) { for(i = 0; i < files.d; i++) { if(verbose)