Index: TODO =================================================================== diff -u -N -ra093703e9836fc152fcbbce96d4f880ace6a6170 -r429233815fd3d539ad62c2ae366b515eb0b069d2 --- TODO (.../TODO) (revision a093703e9836fc152fcbbce96d4f880ace6a6170) +++ TODO (.../TODO) (revision 429233815fd3d539ad62c2ae366b515eb0b069d2) @@ -5228,8 +5228,14 @@ - "/obj/ info lookup parameters configure|create|new|... ?pattern?" - extend regression test +mongo: +- upgrade to the newly released version 0.96 of the c-driver +- replace deprecated function mongoc_collection_delete by mongoc_collection_remove +- tested with MongoDB v2.6.1 + ======================================================================== TODO: +- update migration guide/tutorial - use context-object for error messages of configure/new/create/recreate - remove // comments Index: generic/nsf.c =================================================================== diff -u -N -r6d5c6d1f81d1c3276243207f2206186ffa513fb4 -r429233815fd3d539ad62c2ae366b515eb0b069d2 --- generic/nsf.c (.../nsf.c) (revision 6d5c6d1f81d1c3276243207f2206186ffa513fb4) +++ generic/nsf.c (.../nsf.c) (revision 429233815fd3d539ad62c2ae366b515eb0b069d2) @@ -374,7 +374,7 @@ Nsf_Param CONST *paramsPtr, NsfObject *contextObject, CONST char *pattern, NsfFormatFunction formatFunction) - nonnull(1) nonnull(2) nonnull(3) nonnull(5); + nonnull(1) nonnull(2) nonnull(3) nonnull(6); /* prototypes for alias management */ static int AliasDelete(Tcl_Interp *interp, Tcl_Obj *cmdName, CONST char *methodName, int withPer_object) @@ -11585,11 +11585,12 @@ assert(interp); assert(listObj); assert(paramsPtr); + assert(paramsPtr->name); assert(formatFunction); if (paramsPtr->converter == ConvertToNothing && strcmp(paramsPtr->name, "args") == 0) { - if (contextObject != NULL && strncmp(paramsPtr->type, "virtual", 7) == 0) { + if (contextObject != NULL && paramsPtr->type && strncmp(paramsPtr->type, "virtual", 7) == 0) { Tcl_Obj *formattedObj = NsfParamDefsVirtualFormat(interp, paramsPtr, contextObject, pattern, formatFunction); if (formattedObj != NULL) { Tcl_ListObjAppendList(interp, listObj, formattedObj); @@ -11640,7 +11641,6 @@ continue; } - // TODO: inside test? if (pPtr != paramsPtr) { /* * Don't output non-consuming parameters (i.e. positional, and no args) @@ -11650,11 +11650,10 @@ } } - if (pPtr->converter == ConvertToNothing && strcmp(pPtr->name, "args") == 0) { int argsResolved = 0; - if (contextObject != NULL && strncmp(pPtr->type, "virtual", 7) == 0) { + if (contextObject != NULL && pPtr->type && strncmp(pPtr->type, "virtual", 7) == 0) { Tcl_Obj *formattedObj = NsfParamDefsVirtualFormat(interp, pPtr, contextObject, pattern, NsfParamDefsSyntax); if (formattedObj != NULL) {