Index: generic/nsfInt.h =================================================================== diff -u -N -r8c6ae48dc57c62b8f15173f68cb3062ffefc9dd8 -r81a1f9650941d8f8ad2c6f202be4497a189c1d11 --- generic/nsfInt.h (.../nsfInt.h) (revision 8c6ae48dc57c62b8f15173f68cb3062ffefc9dd8) +++ generic/nsfInt.h (.../nsfInt.h) (revision 81a1f9650941d8f8ad2c6f202be4497a189c1d11) @@ -1120,7 +1120,7 @@ } NsfMethodContext; /* functions from nsfUtil.c */ -char *Nsf_ltoa(char *buf, long i, int *len) +char *Nsf_ltoa(char *buf, long i, int *lengthPtr) nonnull(1) nonnull(3); char *NsfStringIncr(NsfStringIncrStruct *iss) Index: generic/nsfUtil.c =================================================================== diff -u -N -rcbcfec72376d549a806859c873195cc0ebc9c9ea -r81a1f9650941d8f8ad2c6f202be4497a189c1d11 --- generic/nsfUtil.c (.../nsfUtil.c) (revision cbcfec72376d549a806859c873195cc0ebc9c9ea) +++ generic/nsfUtil.c (.../nsfUtil.c) (revision 81a1f9650941d8f8ad2c6f202be4497a189c1d11) @@ -93,12 +93,13 @@ *---------------------------------------------------------------------- */ char * -Nsf_ltoa(char *buf, long i, int *len) { +Nsf_ltoa(char *buf, long i, int *lengthPtr) { int nr_written, negative; char tmp[LONG_AS_STRING], *pointer = &tmp[1], *string, *p; *tmp = 0; assert(buf); + assert(lengthPtr != NULL); if (i<0) { i = -i; @@ -117,7 +118,8 @@ *p++ = '-'; while ((*p++ = *--pointer)); /* copy number (reversed) from tmp to buf */ - if (len) *len = nr_written; + *lengthPtr = nr_written; + return string; } Index: library/mongodb/nsfmongo.c =================================================================== diff -u -N -r9e8610ba86e16a518747bd25907d04b2aaf19dd5 -r81a1f9650941d8f8ad2c6f202be4497a189c1d11 --- library/mongodb/nsfmongo.c (.../nsfmongo.c) (revision 9e8610ba86e16a518747bd25907d04b2aaf19dd5) +++ library/mongodb/nsfmongo.c (.../nsfmongo.c) (revision 81a1f9650941d8f8ad2c6f202be4497a189c1d11) @@ -554,14 +554,13 @@ static int NsfMongoClose(Tcl_Interp *interp, mongoc_client_t *clientPtr, Tcl_Obj *clientObj) { - if (clientPtr) { #if defined(USE_CLIENT_POOL) - mongoc_client_pool_push(mongoClientPool, clientPtr); + mongoc_client_pool_push(mongoClientPool, clientPtr); #else - mongoc_client_destroy(clientPtr); + mongoc_client_destroy(clientPtr); #endif - Nsf_PointerDelete(ObjStr(clientObj), clientPtr, 0); - } + Nsf_PointerDelete(ObjStr(clientObj), clientPtr, 0); + return TCL_OK; } @@ -714,10 +713,9 @@ */ static int NsfCollectionClose(Tcl_Interp *interp, mongoc_collection_t *collectionPtr, Tcl_Obj *clientObj) { - if (collectionPtr) { - mongoc_collection_destroy(collectionPtr); - Nsf_PointerDelete(ObjStr(clientObj), collectionPtr, 0); - } + mongoc_collection_destroy(collectionPtr); + Nsf_PointerDelete(ObjStr(clientObj), collectionPtr, 0); + return TCL_OK; } @@ -744,23 +742,17 @@ BsonAppendObjv(interp, queryPtr, objc, objv); - if (collectionPtr != NULL) { - count = mongoc_collection_count(collectionPtr, - 0 /* query flags */, queryPtr, - 0 /*skip */, 0 /*limit */, - NULL /* read preferences */, - &bsonError); - if (count == -1) { - bson_destroy( queryPtr ); - return NsfPrintError(interp, "mongo::collection::count: error: %s", bsonError.message); - } - - } else { - count = 0; + count = mongoc_collection_count(collectionPtr, + 0 /* query flags */, queryPtr, + 0 /*skip */, 0 /*limit */, + NULL /* read preferences */, + &bsonError); + if (count == -1) { + bson_destroy( queryPtr ); + return NsfPrintError(interp, "mongo::collection::count: error: %s", bsonError.message); } bson_destroy( queryPtr ); - Tcl_SetObjResult(interp, Tcl_NewIntObj(count)); return TCL_OK; @@ -780,7 +772,7 @@ Tcl_Obj **objv; bson_t query, *queryPtr = &query; bson_error_t bsonError; - mongoc_delete_flags_t deleteFlags = 0; /* TODO: not handled */ + mongoc_remove_flags_t removeFlags = 0; /* TODO: not handled */ /* MONGOC_DELETE_SINGLE_REMOVE = 1 << 0,**/ const mongoc_write_concern_t *writeConcern = NULL; /* TODO: not handled yet */ @@ -790,7 +782,7 @@ } BsonAppendObjv(interp, queryPtr, objc, objv); - success = mongoc_collection_remove(collectionPtr, deleteFlags, queryPtr, writeConcern, &bsonError); + success = mongoc_collection_remove(collectionPtr, removeFlags, queryPtr, writeConcern, &bsonError); if (success == 0) { result = NsfPrintError(interp, "mongo::collection::delete: error: %s", bsonError.message);