summaryrefslogtreecommitdiffstats
path: root/usr.bin/unifdef
Commit message (Collapse)AuthorAgeFilesLines
* Update to upstream version 2.7fanf2013-03-284-216/+416
| | | | | | | | | | | The most notable new feature is support for processing multiple files in one invocation. There is also support for more make-friendly exit statuses. The most notable bug fix is #line directives now include the input file name. Obtained from: http://dotat.at/prog/unifdef
* No need to call an external program.obrien2013-03-131-2/+1
|
* Remove superfluous paragraph macro.joel2012-03-251-1/+0
|
* Mark global functions and/or variables in unifdef(1) static where possible.ed2011-11-061-1/+1
| | | | This allows compilers and static analyzers to more thorough analysis.
* Update to upstrea version 2.5.6.fanf2011-01-211-16/+25
| | | | | | | Detect IO errors properly. Write #line directives to the correct output stream. Obtained from: http://dotat.at/prog/unifdef
* Update to upstream version 2.3fanf2011-01-181-15/+10
| | | | | | | Only significant change is to fix a bu when the output file overwrites the input when the input is redirected. Obtained from: http://dotat.at/prog/unifdef
* Fix typos.joel2010-08-011-1/+1
|
* Update to upstream version 2.3fanf2010-03-123-41/+91
| | | | | | | | Add -V (display version) and -S (list controlling symbols per #if with nesting information) options, and improve unifdefall debug output. Done committing 0 revisions to SVN Obtained from: http://dotat.at/prog/unifdef
* Update to upstream version 1.338fanf2010-02-192-27/+50
| | | | | | | | | | Fix a long-standing cpp compatibility bug: The -DFOO argument (without an explicit value) should define FOO to 1 not to the empty string. Add support for CRLF newlines, based on a suggestion from Mark Rushakoff. Obtained from: http://dotat.at/prog/unifdef/
* Fix portability to 64 bit platforms.fanf2010-01-191-1/+1
| | | | | | printf("%.*s",i,s) expects an int not a ptrdiff_t Thanks to bf1783 (at) googlemail.com for the bug report.
* Sync unifdefall with upstream. It no longer relies entirely on $PATHfanf2010-01-191-5/+14
| | | | | to find unifdef, in order to support running the test suite before installing.
* Add a -o outfile option, which can be used to specify an output file. Thefanf2010-01-192-30/+119
| | | | | | | | file can safely be the same as the input file. Idea from IRIX unifdef(1). This version fixes a bug in the NetBSD unifdef which refuses to write to a -o outfile which does not exist. Obtained from: NetBSD
* Build usr.bin/ with WARNS=6 by default.ed2010-01-021-1/+0
| | | | Also add some missing $FreeBSD$ to keep svn happy.
* unifdef: fix invalid array access when nesting limit exceededfanf2009-11-271-4/+8
| | | | | | | | | | | | If the number of nested #if blocks exceeds 64, nest() increments the nesting depth and then reports an error. The message includes the line number for the start of the current #if block, which is read from past the end of the relevant array. Avoid the out-of-bounds read by reporting the error and exiting before the nesting depth has a chance to increase. Submitted by: Jonathan Nieder <jrnieder@gmail.com>
* unifdefall: optimise the loop that builds the unifdef command.fanf2009-11-261-9/+17
| | | | | | | | | | | | | | The old code used a shell loop to convert each controlling macro definition into a command-line argument, reading the macro definitions file each time. The new code converts the list of controlling macros into a sed script which can run through the list of macro definitions in one go. Add some explanatory comments, since the code is quite meta. Use {} instead of () for redirecting a group of commands. Submitted by: Jonathan Nieder <jrnieder@gmail.com>
* Remove debugging remnants from unifdefall.fanf2009-11-261-2/+2
| | | | Submitted by: Jonathan Nieder <jrnieder@gmail.com>
* Update unifdef to my upstream version 1.188fanf2009-11-253-134/+300
| | | | | | | | | | | | | | | | | | | | | Main highlights: (A) The new -B option compresses blank lines around a deleted section so that blank lines around "paragraphs" of code don't get doubled. (B) Lenient evaluation of && and || so that #if expressions can be evaluated even when some of their sub-expressions cannot be. (C) The evaluator can now handle macros with arguments. (D) Portability fixes, especially for unifdefall. Contributions from: Ben Hutchings at Solarflare Communications (A and B) Anders H Kaseorg <andersk@mit.edu> (A and C) Jonathan Nieder <jrnieder@gmail.com> (D) Obtained from: http://dotat.at/prog/unifdef/
* Add AUTHORS section[*] and fix HISTORY section.hrs2008-05-021-1/+7
| | | | | | Requested by: Dave Yost (original author)[*] History checked by: The CSRG Archives MFC after: 3 days
* Typo in comment spotted by Hasso Tepper.fanf2008-03-021-2/+2
| | | | Obtained from: DragonFlyBSD
* A fix for other ways of triggering joe@'s bug.fanf2008-02-291-9/+12
|
* Allow #if defined SYM as well as #if defined(SYM). Fix an abortfanf2008-02-291-18/+31
| | | | | | caused by files that have #endif and no newline on the last line (reported by joe@). Also fix a benign uninitialized variable bug. Update and tidy the copyright.
* Sync program's usage() with manpage's SYNOPSIS.ru2005-05-212-2/+5
|
* Sync with upstream:fanf2005-03-082-52/+96
| | | | | | | | | | | Allow the user to run unifdef without defining any symbols. This is useful in conjunction with the -k flag. Fix a bug in the -s handling code that would have caused out-of-bounds array accesses. Add a -n option to insert #line directives in the output. Ignore comment markers inside string and character literals (bug reported by Amos Shapira <amos.shapira@netregistry.com.au>). More accurate copyright notices.
* Sort sections.ru2005-01-181-14/+14
|
* Added the EXIT STATUS section where appropriate.ru2005-01-171-1/+1
|
* Improve expression evaluation debugging output, tidy up the handling offanf2003-07-011-22/+23
| | | | EOF, and improve the commentary about backslash-newline handling.
* Various fixes from upstream, including a bug...fanf2003-06-301-11/+18
| | | | | | | | | | | | | | | | | Fix the usage synopsis. Amend the copyright notice to reflect the fact that there's no Berkeley code left. Fix a typo in a comment, improve the descriptions of the way we use some global variables (relevant to the bug below), and note that division-by-zero has side effects so the current expression evaluator can't be trivially extended to arithmetic in its current design. Avoid hitting an abort(); /* bug */ when in "text mode" (i.e. ignoring comment state) by updating the line parser state properly. PR: 53907
* MAINTAINER line moved to MAINTAINERS file.fanf2003-06-041-2/+0
|
* Make GCC 3.3 happy with rcsid[], sccs[], and copyright[].obrien2003-05-031-3/+3
|
* mdoc(7) police: Scheduled sweep.ru2003-02-241-0/+1
|
* Sync with upstream again:fanf2003-01-203-59/+148
| | | | | | | | | | | | | | * Be less strict about multi-line preprocessor directives (e.g. those with comments hanging off the right-hand end) since they're more of a problem in practise than I expected. Prompted by phk. * Fix the handling of "ignore" symbols. * Style pedantry from OpenBSD and Ted Unangst <tedu@stanford.edu>, including some whitespace fixes and removal of strcpy() (and not including excessively strict KNF enforcement). * Fix some typos and terminological inconsistencies.
* Style fixes: brackets around the argument of return, and removal offanf2003-01-171-36/+36
| | | | | | excess space. Obtained from: OpenBSD
* Add a necessary cast, because ptrdiff_t isn't necessarily the same as int.fanf2003-01-171-1/+1
| | | | Obtained from: OpenBSD
* mdoc(7) police: markup nits.ru2002-12-231-2/+2
|
* Sync with up-stream version, including a number of bug-fixes:fanf2002-12-182-600/+506
| | | | | | | | | | | | | | | | | | | | | | | | | * The partial-evaluation of #elif sequences was broken and the spaghetti logic of its implementation was too hard to understand. I've re-done it using a straight-forward table-driven push-down automaton. * The pre-processor line parser did not allow for all of the weird places that people might put comments, which could have caused it to add syntax-errors to the output by removing a #if line containing the start- or end-marker of a comment. * The lexer didn't need to special-case the handling of string-literals or character-constants, but it did need to learn about line-continuations (backslash-newline). * The input routine was buggy and bit-rotten and trivially replacable with fgets(). I've also made the program static- and const-safe and improved the presentation-order. The formatting of the state-transition tables remains non-stylish. This commit-messsage was brought to you by code-point 45. MFC-after: one-week
* mdoc(7) police: s/nul character/null character/.ru2002-12-041-2/+2
| | | | Approved by: re
* The spec says that unifdefall removes all #ifs, and this now requiresfanf2002-09-241-2/+2
| | | | the -k flag to unifdef.
* The readability is improved by reducing the use of the passive voice.fanf2002-09-241-10/+10
| | | | No changes to the meaning are made.
* It is probably a bad idea to unconditionally process directives withfanf2002-09-242-10/+41
| | | | | | | | | | constant controlling expressions: in particular, removing #if 0 sections is considered "rude". This commit changes the default so that such things are passed through unchanged, and the old behaviour can be had with the -k "kill konsts" flag. Suggested by: markm MFC after: 3 weeks
* Remove local prototypes for main().jmallett2002-08-191-1/+0
|
* Fixed improper SCRIPTS assignment that broke `clean'.ru2002-07-211-1/+1
|
* Character 0 is nul not null.fanf2002-05-301-1/+1
|
* mdoc(7) police: tidy up.ru2002-05-301-43/+37
|
* Sync with upstream version:fanf2002-05-231-67/+88
| | | | | | | | * Ensure we work within the array bounds when parsing command-line options; * Replace h0h0getopt with getopt(3); * Use consistent whitespace style in the function declarations. Revieweded by: dwmalone (mentor)
* Upgrade unifdef:fanf2002-05-154-545/+997
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * It now knows about the existence of #elif which would have caused it to produce incorrect results in some situations. * It can now process #if and #elif lines according to the values of symbols that are specified on the command line. The expression parser is only a simple subset of what C allows but it should be sufficient for most real-world code (it can cope with everything it finds in xterm). * It has an option for printing all of the symbols that might control #if processing. The unifdefall script uses this option along with cpp -dM to strip all #ifs from a file. * It has much larger static limits. * It handles nested #ifs much more completely. There have also been many style improvements: KNF; ANSI function definitions; all global stuff moved to the top of the file; use stdbool instead of h0h0bool; const-correctness; err(3) instead of fprintf(stderr, ...); enum instead of #define; commentary. I used NetBSD's unifdef as the basis of this since it has received the most attention over the years. PR: 37454 Reviewed by: markm, dwmalone Approved by: dwmalone (mentor) MFC after: 3 weeks
* Use `The .Nm utility'charnier2002-04-201-8/+12
|
* remove __Pimp2002-03-221-10/+10
|
* WARNS=2 fixes, use __FBSDID(), kill register keyword.markm2001-12-111-46/+46
|
* mdoc(7) police: removed HISTORY info from the .Os call.ru2001-07-101-1/+1
|
* Include missing header files which define functions for which gcc hasdd2001-06-241-0/+2
| | | | builtins (e.g., exit, strcmp).
OpenPOWER on IntegriCloud