nsf.c

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.

improve comments

  1. … 13 more files in changeset.
fix double worlds in code documentation

fix typo

fix typos

  1. … 2 more files in changeset.
Remove unneeded ALLOC_ON_STACK

WIP

* nsf.c (ListMethod): Provide a disassemble implementation based on ::tcl::unsupported::disassemble. [::nsf::cmf::info disassemble] is generally available, the info ?object? method variants only in development mode. Implementation covers proc methods and ::nsf::procs. Along the way, prettify some code paths in ListMethod.

  1. … 7 more files in changeset.
add const declarations, whitespace changes

* nsf.c (Nsf_Init): Mark the namespace "::nsf::classes" and its children using "NS_SUPPRESS_COMPILATION". In 8.6+, this guards any commands in these auxiliary namespaces to be picked up by the bytecode compiler (if accessed in an unintended manner).

* nsf.c (ByteCompiled): Patch the proc command's namespace unconditionally, for 8.5 and 8.6.

further WIP

  1. … 1 more file in changeset.
WIP

  1. … 2 more files in changeset.
avoid potentially dangerous call strcat(); remove unneeded assignment

  1. … 1 more file in changeset.
whitespace changes

polish and comment the execNs change for Tcl 8.5

Quickfix fot Tcl 8.5 (needs still more investigation)

add const declarations, reduce variable scopes, break longish lines

  1. … 2 more files in changeset.