nsf.c

Clone Tools
  • last updated 7 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
MSVC seems to be bad on const expressions

Improve comments, unify comment formatting and whitespace cleanup

properly initialize resultObj in all cases

remove dead assignments, initialize variables also on error paths

Reduce number of implicit type conversions Avoid use of macros

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

mprove alignment of prototypes and function definitions

* nsf.c (ObjectCmdMethodDispatch, FindNextMethod): Balance book-keeping in memcounts for Tcl_Objs (technically, an unmatched decrement would suffice).

* nsf.c (NsfProcDeleteProc): Fix freeing of colonLocalVarCache and balance book-kepping on memcounts for colonLocalVarCache.

Merge branch 'master' of ssh://alice.wu.ac.at/usr/local/src/git-repo/nsf

* nsf.c (ObjectCmdMethodDispatch): Silence static check of GCC 8.1 (-Wmaybe-uninitialized). [skip ci]

Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

* nsf.c (NsfCurrentCmd): Avoid (possible, but unlikely) null dereferencing, if CSC was missing [CID 294166].

* nsf.c (NsfDebugGetDict): Compute the remaining size to snprintf for each iteration [CID 294169]. [skip ci]

address CID 294171 and change construct for strpbrk

Merge branch 'master' of ssh://alice.wu.ac.at/usr/local/src/git-repo/nsf

nsf.c (NsfDebugGetDict): Parametrize length computation; remove unneeded nul-termination. [skip ci]

minor cleanup

  1. … 1 more file in changeset.
* nsf.c (NsfDebugGetDict): Make use of strncat more robust by setting the destingation length to the remainder of the output buffer.

* nsf.c (ForwardArg): Provide a const'ed pointer to strpbrk, as required [CID 294162].

* nsf.c (ParamDefsFormat): Fix overrun in memcpy by correcting the destination-length argument [CID 294165].

* nsf.c: Fix all "-pedantic -ansi" errors.

* nsf.c (ParamDefsStore, NsfProcDeleteProc): Provide for counting a reference to the execNsPtr from the NsfProcContext structure. While I could not devise a script-level path to pull out the rug (execNsPtr) out from under NsfProcContext clients, I can only also not exclude the latter (from future C-level paths?). Better act defensively.

* nsf.c (ArgumentParse): Handle NsfMethodNamePath result correctly.

* nsf.c (NsfSetterMethod): Handle NsfMethodNamePath result correctly.

* nsf.c (ObjectCmdMethodDispatch): Close another Tcl_Obj leak incurred by not handling the result from NsfMethodNamePath.

* nsf.c (FindNextMethod): Plumb another memleak (valgrind). The Tcl_Obj computed by NsfMethodNamePath must be refcount corrected.

* nsf.c (AliasGet): Plumbing a memleak found by valgrind. The computed Tcl_Obj from AliasIndex must be refcount-managed explicitly, otherwise the path via AliasGet leaks it.

* nsf.c (ParamOptionParse), nsfInt.h: Provide for own MAX and MIN macros, the ones reused implicitly from Tcl's tommath have vanished in 8.7 branches; and are not provided otherwise, at least in MinGW settings. Fixes 8.7 builds for MinGW under Win.

  1. … 1 more file in changeset.
* nsf.c (ListSuperClasses): Fix refcounting for 8.5 non-threaded only, otherwise the patternString becomes unavailable once a preemptive decrement has been performed, leading to unexpected info results.