All releases tagged Stable


Release Notes: Six bugs are fixed in this release. Five of these fixes tackle longstanding defects of sunifdef's parsing and evaluation of integer constants, a niche that has received little scrutiny since the tool branched from unifdef. This version provides robust parsing of hex, decimal, and octal numerals and arithmetic on them. However, sunifdef still evaluates all integer constants as ints and performs signed integer arithmetic upon them. This falls short of emulating the C preprocessor's arithmetic in limit cases, which is an unfixed defect.


Release Notes: Five minor bugs were fixed.


Release Notes: The parser is strengthened to cope with contexts that were formerly skipped over as "obfuscated". The --obfusc option is thus redundant and is withdrawn. Six bugs are fixed. The demise of the Sourceforge compile farm means that many platforms can no longer be tested for this release.


Release Notes: A new --recurse option enables recursive traversal of source directories. Users no longer need to write driver scripts for this routinely required capablity. A new --filter option enables selection of input files by file-extension. A new --keepgoing option causes processing to carry on with subsequent input files following parse errors. The --verbose mode now emits progress messages. The Unix and Windows builds now accept both sorts of line endings. Hex and octal preprocessor constants are now parsed. Six bugs were fixed. An extensive EXAMPLES section has been added to the man page.


Release Notes: Two errors when compiling to the C89 standard were fixed, as were warnings provoked by "warn_unused_result" declarations and by building to 64-bit.


Release Notes: The #if parser has been greatly simplified and is much more powerful. The --podsym option, formerly --ignore or -iD, has been removed. The --symbols option has been enhanced. The --blank option has been replaced with a richer --discard option. The new --line option causes sunifdef to emit #line directives that will make evaluations of the CPP __LINE__ macro invariant before and after sunifdef, even if lines have been dropped. All usage errors now emit a specific diagnostic. The man page is considerably more complete and correct. Four minor bugs are fixed.


Release Notes: This is a spit-and-polish point release to qualify the package for Feodora Extras inclusion. There are no fixes or features for sunifdef, but it now builds clean with -Wall. Superfluous content has been removed from the package. The test driver, test_sunifdef, now takes evasive action for some pitfalls encountered in Wine and Cygwin emulator environments. Binary and source RPMS are provided.


Release Notes: In this stable release, seven minor bugs were fixed. A test framework and test set are now in the distribution. The command line interface was revised slightly and deviates further from unifdef. The option to nominate specified symbols such that lines in the scope of #ifdef SYM or #ifndef SYM will not be be parsed is now also effective for #if defined(SYM) or #if !defined(SYM). New and more satisfactory rules have been adopted for applying the --constant option in resolving preprocessor conditions that contain integer constants.


Release Notes: This is a bugfix release. It fixes a memmove() miscalculation that could cause a segfault in symbol table lookups, and faulty ordering of symbol table insertions that could cause false negatives for symbol lookups.


No changes have been submitted for this release.