nsf.c

Clone Tools
  • last updated 10 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Got cleanup semantics right, all tests pass

First attempt of an NsfDeleteVars

ObjectCmdMethodDispatch(): Get refcounting on method-path lists right, fixing one actual (valgrind) and another potential Tcl_Obj leak

ParamDefsNames(): Fix another Tcl_Obj leak and optimize code slightly (Tcl_Obj is only allocated once the string-matching operation suceeded)

NsfForwardPrintError(): Fix another instance of the NsfMethodNamePath leak

NsfMethodName(): Avoid unnecessary append operation between lists, previously leaking the source list Tcl_Obj

merge

ArgumentParse(): Addressing a series of Tcl_Obj leaks (valgrind)

- removing dead assignment

TopoSortSub(): Make intended true/false comparisons based on int explicit

TopoSort(): cleanup (pt. 3): re-factored TransitiveSubClasses() and DependentSubClasses() into one caller function of TopoSortSub()

TopoSort(): cleanup (pt. 2): renamed TopoSort() TopoSortSub() (to match TopoSortSuper)

TopoSort(): cleanup (pt. 1)

Leave a TODO

Provide draft TopoSort2 and helpers

GetNextArguments(): Address CID 102646

Removed two unused functions: NsfObjInfoObjectparameterMethod() and NsfParamDefsFilter(). Makes CID 88775 obsolete

  1. … 4 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

Address CID 88770

- improve variable for logging from "debugLevel" to "logSeverity" (print logging messages which have a severity larger equal the then given value; so; "nsf::configure debugLevel 0" will print everything, and "nsf::configure debugLevel 3" will print just error messages and omit warnings etc.) - this is not a change in sematics, but removes some confusion in the code. therefore the configure name was not changed - Remove 2 occurrences of deprecated Tcl Call Tcl_AppendResult() in nsfStubLib

  1. … 6 more files in changeset.
Address potential double freeing problem of runtime states: - the ExitHander() should never be called twice on the same interp. Therefore delete in the ExitProc the ExitHandler AND the ThreadExitHandler and in the ThreadExitProc also both.

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

code generator changes: - create enum types instead of enum values for nsf API - use enum types in code

  1. … 6 more files in changeset.
Improve comment wording and cleanup

  1. … 2 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf

  1. … 1 more file in changeset.
Provide for releasing/deleting the hash tables for cmd definitions and enumeration-type converters in ExitHandler

  1. … 3 more files in changeset.
remove various code smells: - add const declarations - prefer boolean tests - don't write "for" loops without a block - don't pass non-initialized value in an array on index [0] - reduce variable scope - prefer single returns statements in functions - dont't use CONST unless defined by Tcl-API

  1. … 9 more files in changeset.
- make effects of namespace-imported classes more local

  1. … 1 more file in changeset.
FilterSearchAgain(): Avoid running into an invalid pointer access, when the physical deletion of "del" conflicts with following the next link in the cmdList in the loop's increment statement (only iff del == cmdList). Re-organized for into a while loop, to avoid redundant code.

GetClassFromObj(): Fix invalid memory access (valgrind)