Skip to content

Releases: clicon/cligen

5.6.0

08 Mar 09:04
Compare
Choose a tag to compare

Corrected Bugs

Full Changelog: 5.5.0...5.6.0

5.5.0

20 Jan 16:59
Compare
Choose a tag to compare

5.5.0

20 January 2022

Changes

  • Refactor and optimize tree-reference handling
    • Removed "deep" treeref copy which consumed lots of memory for large trees
      • In other words, use "shallow" copy instead so you can state things like: @tree, @remove foo;
    • Ensured indirect treeref functionality: eg tree referencing another tree:
      • @t0; treeref="t0"; @t1;
    • Removed cligen_reftree_filter_get()/_set() functions and @delete:<label> constructs
      • You can now only do eg: ref @tree, @remove:<label>
      • I.e., no default remove labels and no @add:<label> supported
  • Removed #ifdef __GNUC__ around printf-like prototypes since both clang and gcc have format/printf macros defined
  • Removed hide-database and hide-database-auto-completion labels
    • They were no-ops, only hide has meaning.
    • C flag CO_FLAGS_HIDE_DATABASE removed
  • Removed optional CLIGEN_HELPSTRING_VEC and CLIGEN_HELPSTRING_SINGLE from cligen_custom.h
    • Turns out when profiling a cvec consumes too much cpu cycles
  • Added proper error message with line number when encountering errors in the CLIgen YACC parsing and its sub-routines, not only for LEX errors.
  • Changed pt_print() signature to follow other print functions:
    • pt_print(FILE*, parsetree*)

Corrected Bugs

  • Fixed: clispec parser escaped double quote: \" was not parsed correctly
  • Fixed: 5.4.0 introduced an issue with expand if exclude_keys is 0,
    • and may return a constant instead of the variable in many cases
  • Revisited Check if cg_obj is optional #38.
    • The orignal workaround/fix in 1e9964e to disallow multiple []: "Do not think this is a costraining fix" was wrong.
    • Fixed it by adding the CO_FLAGS_OPTION on any new cligen object created when within [].
    • Also added [] in the print function, although this is not complete.