---------------------------------------------------
2020-02-14 16:49:56 +0000 Tony Finch <dot@dotat.at>

scripts: cleaner Changelog

The Changelog was contaminated by branch name decorations, but I only
want tags. Although there is a --decorate-refs-exclude option, it does
not seem to have any effect on the %d format specifier. Seems easier
to just leave them out altogether.

 scripts/gitlog2changelog.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2020-02-14 16:49:31 +0000 Tony Finch <dot@dotat.at>

Bump copyright dates

 COPYING   | 2 +-
 unifdef.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2020-02-14 16:35:26 +0000 Tony Finch <dot@dotat.at>

man: note incomplete C++ raw string literal support

 unifdef.1 | 6 ++++++
 1 file changed, 6 insertions(+)

---------------------------------------------------
2020-02-14 17:03:59 +0100 Zenju <zenju@gmx.de>

 C++11 raw string literal support

 unifdef.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

---------------------------------------------------
2017-04-24 10:45:07 +0100 Tony Finch <dot@dotat.at>

doc: clarify where to send bug reports

 README    |  7 ++++---
 unifdef.1 | 16 +++++++++++-----
 2 files changed, 15 insertions(+), 8 deletions(-)

---------------------------------------------------
2017-03-21 13:26:15 +0000 Tony Finch <dot@dotat.at>

unifdef.1: clarify backslash-newline behaviour in DESCRIPTION

 unifdef.1 | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

---------------------------------------------------
2017-02-06 18:52:47 +0000 Tony Finch <dot@dotat.at>

web: advertise pre-release version

 web/index.html | 5 +++++
 1 file changed, 5 insertions(+)

---------------------------------------------------
2017-02-06 18:49:50 +0000 Tony Finch <dot@dotat.at>

Bump copyright dates

 COPYING   | 2 +-
 unifdef.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2017-02-06 18:21:55 +0000 Tony Finch <dot@dotat.at>

unifdef: more fixes for weird whitespace

The previous attempt (in commit 802c5cd6) to deal with some whitespace
corner cases had a bug when parsing a dangling C comment; rather than
using the general purpose lexer to scan the dangling line, it assumed
the line state must be dirty - which is not necessarily the case for
dangling C comments as it is for long linear whitespace or C++
comments.

The original example that exposed this problem was from Linux
__BACKPORT_LINUX_REGULATOR_DRIVER_H_; the test case in this
commit is based on analysis of the bug.

Reported-By: Pavel.Aronsky@celeno.com
Reported-By: Aviv.Albagli@celeno.com

 tests/dangle.c            | 6 ++++++
 tests/dangle.experr       | 0
 tests/dangle.expout       | 6 ++++++
 tests/dangle.exprc        | 1 +
 tests/dangle.sh           | 1 +
 tests/whitespace-1.experr | 2 +-
 unifdef.c                 | 6 ++++--
 7 files changed, 19 insertions(+), 3 deletions(-)

---------------------------------------------------
2016-02-26 09:39:13 +0000 Tony Finch <dot@dotat.at>

portability: fix problems compiling with C++ compiler

Michael McConville suggested removing a "redundant" cast of
the return value from malloc(), based on a change in the
OpenBSD version of unifdef. This is a good suggestion for
a purely C program, but the cast is required in C++.

Carsten Hey contributed some portability improvements in
2012 which included this cast, so that unifdef can be
compiled with a C++ compiler. Unfortunately since then
there have been several regressions in C++ support.

This commit fixes those regressions.

 unifdef.c       |  2 +-
 win32/unifdef.h |  2 +-
 win32/win32.c   | 10 +++++-----
 3 files changed, 7 insertions(+), 7 deletions(-)

---------------------------------------------------
2016-02-16 16:58:21 +0000 Tony Finch <dot@dotat.at>

test: need newlines in MinGW printf workaround

 tests/outperms.sh  | 2 +-
 tests/overperms.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 16:03:29 +0000 Tony Finch <dot@dotat.at>

test: GNU printf(1) is POSIXly incorrect

 tests/outperms.sh  | 2 +-
 tests/overperms.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 14:37:18 +0000 Tony Finch <dot@dotat.at>

test: ugly workaround for lack of chmod() in MinGW

 tests/outperms.sh  | 5 ++++-
 tests/overperms.sh | 5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 14:31:47 +0000 Tony Finch <dot@dotat.at>

win32: nonexistent new file is not an error in rename(old,new)

 win32/win32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2016-02-16 14:06:53 +0000 Tony Finch <dot@dotat.at>

win32: revert mktempmode() change - it does not help

 win32/win32.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

---------------------------------------------------
2016-02-16 14:05:40 +0000 Tony Finch <dot@dotat.at>

test: revert rm change - I was misreading the error message!

 tests/multi-generic-sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 13:53:42 +0000 Tony Finch <dot@dotat.at>

win32: more thorough implementation of mktempmde()

Let's see if this makes the permissions tests pass.

 win32/win32.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 13:43:27 +0000 Tony Finch <dot@dotat.at>

test: suppress error output from rm

POSIX says rm -f should not produce any error messages or nonzero
exit status, but MinGW fails to follow the rules.

 tests/multi-generic-sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-16 13:35:00 +0000 Tony Finch <dot@dotat.at>

test: typo in stderr redirection, sigh

 tests/000-init.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2016-02-16 13:25:35 +0000 Tony Finch <dot@dotat.at>

test: a hack for MinGW on Travis-CI

The first test that is run for the MinGW build on Travis-CI is
exploding messily when it tries to initialize Wine, but after that
most of the other tests run OK. Let's try adding a fake non-test
to absorb this mess and get closer to a working build.

 tests/000-init.experr | 0
 tests/000-init.expout | 0
 tests/000-init.exprc  | 1 +
 tests/000-init.sh     | 1 +
 4 files changed, 2 insertions(+)

---------------------------------------------------
2016-02-15 17:38:42 +0000 Tony Finch <dot@dotat.at>

win32: preen comment

 win32/win32.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2016-02-15 17:33:12 +0000 Tony Finch <dot@dotat.at>

win32: go back to slow snprintf() because MinGW is still troublesome

 win32/unifdef.h |  1 -
 win32/win32.c   | 33 ++++++++++++++++++++++++++-------
 2 files changed, 26 insertions(+), 8 deletions(-)

---------------------------------------------------
2016-02-15 17:09:33 +0000 Tony Finch <dot@dotat.at>

README: thanks to Ruediger Meier!

 README | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2016-02-15 17:12:45 +0000 Tony Finch <dot@dotat.at>

win32: better snprintf() portability hack

The code is now much shorter and does not malloc or copy.

There is a #define renaming to avoid a name collision since
Visual Studio 2015 includes a standard snprintf.

Reported-By: Ruediger Meier <ruediger.meier@ga-group.nl>

 win32/unifdef.h |  9 ++++++++-
 win32/win32.c   | 33 ++++++++-------------------------
 2 files changed, 16 insertions(+), 26 deletions(-)

---------------------------------------------------
2016-02-15 16:20:07 +0000 Tony Finch <dot@dotat.at>

test: try to work better on MinGW

A lot of the test failures are due to CRLFs in stderr which do not
match the bare LFs in the experr files. So, unilaterally strip CRs
from stderr output.

We don't need to do this for stdout, since unifdef writes that in
binary mode so it can match the newline style of the input file.

We might also need to fix the rc files - let's see how this change
works first.

 scripts/runtests.sh | 5 +++++
 1 file changed, 5 insertions(+)

---------------------------------------------------
2016-02-12 00:47:29 +0100 Ruediger Meier <ruediger.meier@ga-group.nl>

travis: add OSX and Ubuntu Trusty builds

Actually this is a rewrite of .travis.yml:
 - speedup build (sudo: false)
 - add OSX build
 - add Ubuntu 14.04 Trusty build (beta)
 - MinGW is allowed to fail silently (no more "Still Failing" emails!)
 - add env output for debugging

Note "apt-get install wine failed" for Trusty, that's why we don't
check MinGW there.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>

 .travis.yml | 42 +++++++++++++++++++++++++++++++++---------
 1 file changed, 33 insertions(+), 9 deletions(-)

---------------------------------------------------
2015-12-07 12:10:30 +0000 Tony Finch <dot@dotat.at>

ifdef-how: what conditionals cause this line to be emitted?

Suggested-by: Anthony Liu <antliu@gmail.com>

 ifdef-how.pl | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

---------------------------------------------------
2015-12-03 14:34:11 +0000 Tony Finch <dot@dotat.at>

Avoid -Wmissing-initializer

 unifdef.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

---------------------------------------------------
2015-12-03 14:08:26 +0000 Tony Finch <dot@dotat.at>

man: use .Mt to mark up email addresses

Obtained-from: FreeBSD
Submitted-by: Franco Fichtner <franco@lastsummer.de>

 unifdef.1 | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2015-12-03 12:15:06 +0000 Tony Finch <dot@dotat.at>

Freecode is read-only

 README         | 3 ---
 web/index.html | 2 --
 2 files changed, 5 deletions(-)

---------------------------------------------------
2015-12-03 12:10:08 +0000 Tony Finch <dot@dotat.at>

Bump copyright dates

 COPYING         | 2 +-
 unifdef.1       | 4 ++--
 unifdef.c       | 2 +-
 win32/unifdef.h | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2015-12-03 12:06:33 +0000 Tony Finch <dot@dotat.at>

unifdef-2.11

 README         | 3 +++
 web/index.html | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2015-12-03 11:50:46 +0000 Tony Finch <dot@dotat.at>

Fix uninitialized variable in evaluator.

Inner expressions typically return LT_IF without setting their
value pointer when they encounter an unknown value. Binary
operators then blindly use these inner values before checking if
they are unknown - before checking for LT_IF. This is undefined
behaviour, but we usually dodge the bullet - except division can
cause things to explode and expose the bug.

Initializing the value to zero avoids undefined behaviour. But this
means that instead of avoiding division when the denominator is
definitely zero (because it might be unknown and zero) we now only
divide if it is definitely non-zero.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2015-12-03 11:42:04 +0000 Tony Finch <dot@dotat.at>

test: unexpected /0 exception happening in another part of the test

 tests/div.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2015-12-03 11:37:56 +0000 Tony Finch <dot@dotat.at>

travis: clone deeply, so version tags are included

 .travis.yml | 3 ---
 1 file changed, 3 deletions(-)

---------------------------------------------------
2015-12-03 11:37:23 +0000 Tony Finch <dot@dotat.at>

test: clearer div test, and try to diagnose unexpected /0 exception

 tests/div.expout | 5 ++++-
 tests/div.sh     | 9 +++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

---------------------------------------------------
2015-12-03 11:17:20 +0000 Tony Finch <dot@dotat.at>

win32: suppress warnings about POSIX functions

 win32/unifdef.h | 5 +++++
 1 file changed, 5 insertions(+)

---------------------------------------------------
2015-12-03 11:15:29 +0000 Tony Finch <dot@dotat.at>

travis: clone with a nonzero depth

 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2015-12-03 11:08:24 +0000 Tony Finch <dot@dotat.at>

Document the buggy effect of the dumb lexer on the -f option.

 unifdef.1 | 11 +++++++++++
 1 file changed, 11 insertions(+)

---------------------------------------------------
2015-12-03 10:59:28 +0000 Tony Finch <dot@dotat.at>

Avoid redundant renames with a -M '' empty backup suffix.

Submitted-by: Michael McConville <mmcco@mykolab.com>

 unifdef.1 | 5 +++++
 unifdef.c | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

---------------------------------------------------
2015-12-03 10:50:49 +0000 Tony Finch <dot@dotat.at>

Handle division by zero gracefully.

Reported-by: Michael McConville <mmcco@mykolab.com>

 tests/div.c      | 3 +++
 tests/div.experr | 0
 tests/div.expout | 7 +++++++
 tests/div.exprc  | 1 +
 tests/div.sh     | 3 +++
 unifdef.1        | 1 +
 unifdef.c        | 4 ++++
 7 files changed, 19 insertions(+)

---------------------------------------------------
2014-10-24 16:43:51 +0100 Tony Finch <dot@dotat.at>

Replace hardcoded operator lexing with table-driven code.

 unifdef.c | 31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

---------------------------------------------------
2014-10-24 15:02:53 +0000 Brian Ginsbach <ginsbach@netbsd.org>

Add support for additional #if/#elif operators

Add support for additional operators in a #if/#elif statement.
  - unary bitwise NOT (one's complement): ~
  - unary negative: -
  - left shift: <<
  - right shift: >>
  - bitwise AND: &
  - bitwise exclusive OR: ^
  - bitwise inclusive OR: |
  - addition: +
  - subtraction: -
  - multiplcation: *
  - division: /
  - modulo: %

 tests/if7.c            | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/if7.experr       |  0
 tests/if7.expout       | 46 ++++++++++++++++++++++++
 tests/if7.exprc        |  1 +
 tests/if7.sh           |  1 +
 tests/recursive.experr | 24 +++++++++++--
 unifdef.1              |  6 ++--
 unifdef.c              | 81 ++++++++++++++++++++++++++++++++++++++++---
 8 files changed, 244 insertions(+), 9 deletions(-)

---------------------------------------------------
2014-10-24 15:01:11 +0000 Brian Ginsbach <ginsbach@netbsd.org>

Add all comparisons to tests

Add tests for <, <=, >, and >= comparisons.

 tests/if5-a.expout | 12 ++++++++++++
 tests/if5.c        | 28 ++++++++++++++++++++++++++++
 tests/if5.expout   | 12 ++++++++++++
 3 files changed, 52 insertions(+)

---------------------------------------------------
2014-10-20 21:45:20 +0100 Tony Finch <dot@dotat.at>

Ensure that newlines change the linestate when skipping junk.

Sometimes skipline() would skip meaningful characters without
letting skipcomment() look at them.

Reported-By: Christoph Schied <Christoph.Schied@kit.edu>

 tests/error.c      | 4 ++++
 tests/error.experr | 0
 tests/error.expout | 2 ++
 tests/error.exprc  | 1 +
 tests/error.sh     | 1 +
 unifdef.c          | 8 ++++++--
 6 files changed, 14 insertions(+), 2 deletions(-)

---------------------------------------------------
2014-10-20 21:29:13 +0100 Tony Finch <dot@dotat.at>

tests: update for capitalized diagnostics

 tests/defundef-broken2.experr | 4 ++--
 tests/defundef-broken3.experr | 4 ++--
 tests/defundef-broken4.experr | 2 +-
 tests/whitespace-1.experr     | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2014-10-20 21:24:35 +0100 Tony Finch <dot@dotat.at>

DIAGNOSTICS do not have full stops.

 unifdef.1 | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2014-10-20 21:23:50 +0100 Tony Finch <dot@dotat.at>

Add some missing DIAGNOSTICS

 unifdef.1 | 6 ++++++
 1 file changed, 6 insertions(+)

---------------------------------------------------
2014-10-20 21:21:00 +0100 Tony Finch <dot@dotat.at>

Capitalize error messages

 unifdef.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2014-10-20 21:19:37 +0100 Tony Finch <dot@dotat.at>

Alphabetize DIAGNOSTICS

 unifdef.1 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-10-20 21:16:34 +0100 Tony Finch <dot@dotat.at>

Check there is a filename argument for inplace editing.

Reported-by: Philip Guenther <guenther@openbsd.org>
Submitted-By: Stuart Henderson <sthen@openbsd.org>

 unifdef.c | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2014-01-08 15:03:36 +0000 Tony Finch <dot@dotat.at>

travis: restore missing semicolon

 .travis.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 14:59:46 +0000 Tony Finch <dot@dotat.at>

win32: do not use Unix Makefile for testing on MinGW

 .travis.yml          | 3 +--
 win32/Makefile.mingw | 3 +++
 2 files changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2014-01-08 14:16:13 +0000 Tony Finch <dot@dotat.at>

win32: avoid deprecated -I- compiler option in MinGW build

 win32/Makefile.mingw | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 14:15:39 +0000 Tony Finch <dot@dotat.at>

win32: need prototype for snprintf()

 win32/unifdef.h | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2014-01-08 13:51:53 +0000 Tony Finch <dot@dotat.at>

unifdef: typo in comment

Reported-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>

 unifdef.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 13:39:10 +0000 Tony Finch <dot@dotat.at>

win32: avoid "secure" string functions - troublesome on MinGW

 win32/win32.c | 54 ++++++++++++++++++++++++++----------------------------
 1 file changed, 26 insertions(+), 28 deletions(-)

---------------------------------------------------
2014-01-08 00:15:18 +0000 Tony Finch <dot@dotat.at>

win32: or maybe stdint.h? MinGW seems to disagree with Windows :-(

 win32/unifdef.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-08 00:06:22 +0000 Tony Finch <dot@dotat.at>

win32: need stddef.h

 win32/unifdef.h | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2014-01-07 23:57:36 +0000 Tony Finch <dot@dotat.at>

win32: another try at working around lack of _TRUNCATE

 win32/unifdef.h |  2 --
 win32/win32.c   | 16 +++++++++++++++-
 2 files changed, 15 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-01-07 23:42:00 +0000 Tony Finch <dot@dotat.at>

win32: need crtdefs.h?

 win32/unifdef.h | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2014-01-07 22:45:47 +0000 Tony Finch <dot@dotat.at>

win32: correct variable name in snprintf()

 win32/win32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2014-01-07 22:32:21 +0000 Tony Finch <dot@dotat.at>

unifdef: cleaner exit status handling

 unifdef.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

---------------------------------------------------
2014-01-07 20:41:07 +0000 Tony Finch <dot@dotat.at>

unifdef: do not needlessly modify files when updating in place

If unifdef made no changes, leave the original input file
in place and delete the temporary working copy.

Inspired by http://trac.webkit.org/changeset/156877

 tests/overunchanged.experr |  0
 tests/overunchanged.expout |  0
 tests/overunchanged.exprc  |  1 +
 tests/overunchanged.sh     |  8 ++++++++
 unifdef.1                  |  2 ++
 unifdef.c                  | 13 ++++++++++++-
 6 files changed, 23 insertions(+), 1 deletion(-)

---------------------------------------------------
2014-01-07 20:24:11 +0000 Tony Finch <dot@dotat.at>

unifdef: correct exit status when lines are modified but not deleted

 tests/exitstat.c      | 3 +++
 tests/exitstat.experr | 0
 tests/exitstat.expout | 3 +++
 tests/exitstat.exprc  | 1 +
 tests/exitstat.sh     | 1 +
 unifdef.c             | 1 +
 6 files changed, 9 insertions(+)

---------------------------------------------------
2014-01-07 20:02:18 +0000 Tony Finch <dot@dotat.at>

tests: NetBSD pr#47068

 tests/NetBSD-47068.c      | 2 ++
 tests/NetBSD-47068.experr | 0
 tests/NetBSD-47068.expout | 2 ++
 tests/NetBSD-47068.exprc  | 1 +
 tests/NetBSD-47068.sh     | 1 +
 5 files changed, 6 insertions(+)

---------------------------------------------------
2014-01-07 19:16:02 +0000 Tony Finch <dot@dotat.at>

web: update for unifdef-2.10 release

 web/index.html | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

---------------------------------------------------
2014-01-07 19:12:35 +0000 Tony Finch <dot@dotat.at>

bump more copyright dates

 scripts/copycheck.sh | 4 +++-
 unifdef.1            | 2 +-
 unifdef.c            | 2 +-
 3 files changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-01-07 19:00:39 +0000 Tony Finch <dot@dotat.at>

unifdef: do not mark the line as dirty when there is no dirt

This caused problems for #undef directives in -f header files:
the following line was ignored because the line state got
incorrectly updated.

Thanks to the uClibc project for reporting the bug and providing a
sample test case and a proposed fix.

Reported-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>

 tests/defundef-undefdef.experr | 0
 tests/defundef-undefdef.expout | 1 +
 tests/defundef-undefdef.exprc  | 1 +
 tests/defundef-undefdef.sh     | 1 +
 tests/if6.h                    | 2 ++
 unifdef.c                      | 5 ++---
 6 files changed, 7 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-01-06 10:51:56 +0000 Tony Finch <dot@dotat.at>

scripts: make release more verbose

 scripts/release.sh | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2014-01-06 10:51:17 +0000 Tony Finch <dot@dotat.at>

web: link to pre-release

 web/index.html | 8 ++++++++
 1 file changed, 8 insertions(+)

---------------------------------------------------
2014-01-06 10:42:01 +0000 Tony Finch <dot@dotat.at>

Bump some copyright dates

 COPYING         | 2 +-
 win32/unifdef.h | 2 +-
 win32/win32.c   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2014-01-06 10:38:00 +0000 Tony Finch <dot@dotat.at>

win32: a more correct snprintf() portability shim

Based on 
http://stackoverflow.com/questions/2915672/snprintf-and-visual-studio-2010

 win32/unifdef.h |  1 -
 win32/win32.c   | 22 ++++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-06-12 15:50:39 +0100 Tony Finch <dot@dotat.at>

INSTALL: use GitHub for Windows to run Unix shell scripts

README: update FreshMeat -> FreeCode and note that GitHub
zip file downloads are broken.

Suggested-by: Lee M. Hamel <lee.m.hamel@intel.com>

 INSTALL | 12 +++++++-----
 README  |  6 +++++-
 2 files changed, 12 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-06-11 22:10:31 +0100 Tony Finch <dot@dotat.at>

unifdef: refactor keyword and symbol matching

The generic strlcmp() is replaced by the more specific matchsym()
and findsym() now includes the effect of skipsym().

This is to prepare for case-insensitive keyword matching, as part
of foreign language support.

 unifdef.c | 155 ++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 84 insertions(+), 71 deletions(-)

---------------------------------------------------
2013-06-07 23:21:03 +0100 Tony Finch <dot@dotat.at>

unifdef.1: bump date and add link to home page

 unifdef.1 | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-06-07 23:10:14 +0100 Tony Finch <dot@dotat.at>

copycheck: check date in manual

 scripts/copycheck.sh | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2013-06-07 12:09:20 +0100 Tony Finch <dot@dotat.at>

web: update for unifdef-2.9 release

 web/index.html | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

---------------------------------------------------
2013-06-07 11:53:51 +0100 Tony Finch <dot@dotat.at>

INSTALL: more portability notes.

 INSTALL | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-06-06 12:24:30 +0100 Tony Finch <dot@dotat.at>

Makefile: correct dependencies and portability to GNU make.

My aim was previously to rely on make's built-in rules to
build unifdef, on the assumption that this would be the
easiest way to do the right thing on unknown systems.

The right way to specify the dependencies for unifdef is:

unifdef: unifdef.c unifdef.h version.h

However GNU make has an incorrect implicit rule:

.c:
        $(LINK.c) $^ $(LOADLIBES) $(LDLIBS) -o $@

This puts all of the prerequisites on the command line, which
causes things to break. POSIX specifies the implicit rule as

.c:
        $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $<

And POSIX says "In an inference rule, the $< macro shall evaluate
to the filename whose existence allowed the inference rule to be
chosen for the target". In our case $< expands to just unifdef.c
which is what we want.

Putting .POSIX in the Makefile does not cause GNU make to use the
posixly-correct implicit rule definition.

The previous version of the Makefile had incorrect dependencies
which meant that GNU make (and probably other versions of make)
would not rebuild unifdef if the header files were touched. So
to fix that bug, and to work around the buggy implicit rule in
GNU make, the Makefile now has an expanded version of the
standard POSIX build rule for unifdef.

 Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-06-06 11:50:19 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-06-06 11:48:43 +0100 Tony Finch <dot@dotat.at>

unifdef: Avoid ssize_t for portability

 unifdef.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-05-10 00:16:01 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

travis-ci: fix release traget by git cloning with infinite depth

git describe needs at least the last tag available. This is never sure
when using git clone --depth=50 which is done by travis per default.

 .travis.yml | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2013-05-09 21:42:31 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

scripts: avoid gzip option --keep for compatibility

"-k|--keeps" is not available yet in officially released gzip.

 scripts/release.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-15 13:22:56 +0100 Tony Finch <dot@dotat.at>

scripts: fetch Github pull requests

 scripts/git.config | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2013-05-09 20:44:29 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-09 20:38:24 +0100 Tony Finch <dot@dotat.at>

unifdef: avoid strndup() for non-standard C implementations

 unifdef.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-09 20:08:26 +0100 Tony Finch <dot@dotat.at>

scripts: copycheck fixes

! must go at the start of a pipeline in portable sh
Use a default author if git doesn't know who you are.

 scripts/copycheck.sh | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-05-09 20:00:19 +0100 Tony Finch <dot@dotat.at>

tests: avoid non-portable error message in multimissing

 tests/multi-generic-sh    | 2 +-
 tests/multimissing.experr | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

---------------------------------------------------
2013-05-09 19:55:37 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-09 19:54:28 +0100 Tony Finch <dot@dotat.at>

tests: shell . command needs path in argument

 tests/multi.sh        | 2 +-
 tests/multilnnum.sh   | 2 +-
 tests/multimissing.sh | 2 +-
 tests/multinewline.sh | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-05-09 19:47:56 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-09 19:44:58 +0100 Tony Finch <dot@dotat.at>

tests: leave the source files alone in the multi-file tests

 tests/multi-generic-sh    | 15 +++++++++++++++
 tests/multi.expout        |  8 ++++----
 tests/multi.sh            | 10 +++-------
 tests/multilnnum.expout   | 20 ++++++++++----------
 tests/multilnnum.sh       | 10 +++-------
 tests/multimissing.experr |  7 +++++--
 tests/multimissing.expout |  4 ++--
 tests/multimissing.sh     | 15 +++------------
 tests/multinewline.expout |  8 ++++----
 tests/multinewline.sh     | 10 +++-------
 10 files changed, 52 insertions(+), 55 deletions(-)

---------------------------------------------------
2013-05-09 14:41:53 +0100 Tony Finch <dot@dotat.at>

Makefile: release fixes

Must include version.h for non-unix builds.  Re-jig the version
dependencies to avoid running reversion.sh twice.

 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-08 16:51:11 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-08 16:48:49 +0100 Tony Finch <dot@dotat.at>

tests: clean away more xterm gubbins

 Makefile           |    3 +-
 tests/xterm.experr |    2 +-
 tests/xterm.expout | 2671 ----------------------------------------------------
 tests/xterm.sh     |    7 +-
 4 files changed, 6 insertions(+), 2677 deletions(-)

---------------------------------------------------
2013-05-08 16:30:35 +0100 Tony Finch <dot@dotat.at>

tests: do not ship vast chunks of XTerm

By default the xterm test does nothing; if required it will download
and upack xterm in order to run the full test. It is likely to break
when a new version of xterm is released since the download URL is
not versioned.

 COPYING                |    8 -
 tests/xterm-292-main.c | 5239 ---------------------------------------
 tests/xterm-defs.h     | 6423 ------------------------------------------------
 tests/xterm.sh         |   38 +-
 4 files changed, 33 insertions(+), 11675 deletions(-)

---------------------------------------------------
2013-05-08 16:08:49 +0100 Tony Finch <dot@dotat.at>

scripts: fold long lines in the Changelog

 scripts/gitlog2changelog.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-05-08 15:58:15 +0100 Tony Finch <dot@dotat.at>

scripts: compress releases with xz as well as gzip

 scripts/release.sh | 6 ++++--
 web/index.html     | 2 ++
 2 files changed, 6 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-08 15:02:06 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release

 web/index.html | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-05-08 15:01:17 +0100 Tony Finch <dot@dotat.at>

COPYING: note part of XTerm is used in the tests

 COPYING | 8 ++++++++
 1 file changed, 8 insertions(+)

---------------------------------------------------
2013-05-08 14:56:23 +0100 Tony Finch <dot@dotat.at>

tests: check recursive definitions, and unifdefall xterm

The xterm test is my original motivation for unifdef.
The OPT_PTY_HANDSHAKE definition relies on indirection
and without that feature unifdefall cannot remove all
preprocessor conditional directives.

 tests/recursive.experr |  102 +
 tests/recursive.expout |   26 +
 tests/recursive.exprc  |    1 +
 tests/recursive.sh     |    1 +
 tests/xterm-292-main.c | 5239 +++++++++++++++++++++++++++++++++++++++
 tests/xterm-defs.h     | 6423 ++++++++++++++++++++++++++++++++++++++++++++++++
 tests/xterm.experr     |    3 +
 tests/xterm.expout     | 2754 +++++++++++++++++++++
 tests/xterm.exprc      |    1 +
 tests/xterm.sh         |    8 +
 10 files changed, 14558 insertions(+)

---------------------------------------------------
2013-05-08 14:46:53 +0100 Tony Finch <dot@dotat.at>

unifdef: further debugging improvements

 unifdef.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-05-08 13:47:07 +0100 Tony Finch <dot@dotat.at>

unifdef: improve indirect macro definitions

Note in the debug output when a macro value is updated.

Do not change a macro from defined to undefined.

Recursive definitions no longer cause a loop.

 unifdef.c | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

---------------------------------------------------
2013-05-08 13:30:37 +0100 Tony Finch <dot@dotat.at>

web: pre-release

 web/index.html | 6 ++++++
 1 file changed, 6 insertions(+)

---------------------------------------------------
2013-05-08 13:19:31 +0100 Tony Finch <dot@dotat.at>

scripts: include release tags and renames in Changelog

 Makefile                    | 2 +-
 scripts/gitlog2changelog.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-05-08 13:10:11 +0100 Tony Finch <dot@dotat.at>

web: improve example uses, and add UIT

 web/index.html | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

---------------------------------------------------
2013-05-08 12:56:45 +0100 Tony Finch <dot@dotat.at>

unifdef.1: document indirection, and refer to macros not symbols

Trying to be more consistent with terminology from the C standard.

 unifdef.1 | 76 +++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 38 insertions(+), 38 deletions(-)

---------------------------------------------------
2013-05-08 12:39:53 +0100 Tony Finch <dot@dotat.at>

tests: test indirect macro definitions

 tests/indirect.experr |  0
 tests/indirect.expout | 16 ++++++++++++++++
 tests/indirect.exprc  |  1 +
 tests/indirect.sh     |  1 +
 4 files changed, 18 insertions(+)

---------------------------------------------------
2013-05-08 12:39:03 +0100 Tony Finch <dot@dotat.at>

scripts: add missing release script

 scripts/release.sh | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

---------------------------------------------------
2013-05-08 12:31:39 +0100 Tony Finch <dot@dotat.at>

unifdef: support for simple macro value indirection

 unifdef.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

---------------------------------------------------
2013-05-08 11:45:53 +0100 Tony Finch <dot@dotat.at>

Makefile: delete control characters from manual with col instead of sed

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-05-08 11:21:31 +0100 Tony Finch <dot@dotat.at>

scripts: move support gubbins into a subdirectory

 Makefile                             | 26 +++++++-------------------
 authors.svn => scripts/authors.svn   |  0
 copycheck.sh => scripts/copycheck.sh |  0
 fixtests.sh => scripts/fixtests.sh   |  0
 git.config => scripts/git.config     |  3 ---
 scripts/gitlog2changelog.sh          |  8 ++++++++
 reversion.sh => scripts/reversion.sh |  0
 runtests.sh => scripts/runtests.sh   |  0
 svnup => scripts/svnup.sh            |  4 +---
 upload => scripts/upload.sh          |  0
 10 files changed, 16 insertions(+), 25 deletions(-)

---------------------------------------------------
2013-05-08 11:03:38 +0100 Tony Finch <dot@dotat.at>

Bump copyright dates.

 COPYING         | 4 ++--
 unifdef.h       | 2 +-
 win32/unifdef.h | 2 +-
 win32/win32.c   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-05-08 10:49:28 +0100 Tony Finch <dot@dotat.at>

copyckeck: ensure copyright dates are correct on release

 copycheck.sh | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

---------------------------------------------------
2013-05-06 18:08:08 +0100 Tony Finch <dot@dotat.at>

web: update for 2.8 release; clearer links to COPYRIGHT and INSTALL

 web/index.html | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

---------------------------------------------------
2013-05-06 18:07:21 +0100 Tony Finch <dot@dotat.at>

INSTALL: be clearer about dependencies up front

 INSTALL | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-05-06 17:47:58 +0100 Tony Finch <dot@dotat.at>

unifdef: fix #undef parser

Previously the parser state was incorrect following a #undef
which caused the following line to be ignored. Found when
testing unifdefall on xterm/main.c.

 unifdef.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-05-06 17:40:16 +0100 Tony Finch <dot@dotat.at>

unifdef: remove spurious \n in debug output

 unifdef.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-05-06 17:36:34 +0100 Tony Finch <dot@dotat.at>

unifdef: increase max number of symbols to 16K

This is so that it can cope with the output of
	cc -E -dM xterm/main.c

 unifdef.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-05-06 17:35:08 +0100 Tony Finch <dot@dotat.at>

unifdefall: use unifdef -f and delete lots of arcane shell hackery

 unifdefall.sh | 34 ++++++++--------------------------
 1 file changed, 8 insertions(+), 26 deletions(-)

---------------------------------------------------
2013-04-29 21:10:55 +0100 Tony Finch <dot@dotat.at>

web: bump pre-release version

 web/index.html | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-04-29 21:02:53 +0100 Tony Finch <dot@dotat.at>

unifdef: support function-like macro definitions

This is a fairly half-arsed implementation that treats function-like
macros the same as object-like macros that have been set to 1. It
is reasonably consistent with the existing half-arsed treatment
of function-like macro invocations in #if and #elif control expressions.

The manual now explains this half-arsedness more clearly.

 tests/broken1.h                                    |  1 -
 tests/defundef-broken1.experr                      |  2 -
 tests/defundef-broken1.exprc                       |  1 -
 tests/defundef-broken1.sh                          |  1 -
 ...ndef-broken1.expout => defundef-funlike.experr} |  0
 tests/defundef-funlike.expout                      | 13 ++++++
 tests/defundef-funlike.exprc                       |  1 +
 tests/defundef-funlike.sh                          |  1 +
 tests/funlike.h                                    |  1 +
 unifdef.1                                          | 51 +++++++++++++++-------
 unifdef.c                                          | 14 +++---
 11 files changed, 58 insertions(+), 28 deletions(-)

---------------------------------------------------
2013-04-29 20:37:08 +0100 Tony Finch <dot@dotat.at>

unifdef.1: typo: function-like arguments -> macros

 unifdef.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-04-27 17:28:18 +0100 Tony Finch <dot@dotat.at>

web: advertise pre-release

 web/index.html | 7 +++++++
 1 file changed, 7 insertions(+)

---------------------------------------------------
2013-04-27 17:22:50 +0100 Tony Finch <dot@dotat.at>

tests: broken #define/#undef files

 tests/broken1.h               | 1 +
 tests/broken2.h               | 1 +
 tests/broken3.h               | 1 +
 tests/broken4.h               | 2 ++
 tests/defundef-broken1.experr | 2 ++
 tests/defundef-broken1.expout | 0
 tests/defundef-broken1.exprc  | 1 +
 tests/defundef-broken1.sh     | 1 +
 tests/defundef-broken2.experr | 2 ++
 tests/defundef-broken2.expout | 0
 tests/defundef-broken2.exprc  | 1 +
 tests/defundef-broken2.sh     | 1 +
 tests/defundef-broken3.experr | 2 ++
 tests/defundef-broken3.expout | 0
 tests/defundef-broken3.exprc  | 1 +
 tests/defundef-broken3.sh     | 1 +
 tests/defundef-broken4.experr | 2 ++
 tests/defundef-broken4.expout | 0
 tests/defundef-broken4.exprc  | 1 +
 tests/defundef-broken4.sh     | 1 +
 20 files changed, 21 insertions(+)

---------------------------------------------------
2013-04-27 17:21:15 +0100 Tony Finch <dot@dotat.at>

unifdef: correct check for multi-line #define/#undef directives

 unifdef.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-04-27 16:57:50 +0100 Tony Finch <dot@dotat.at>

unifdef.1: explain #define restrictions

 unifdef.1 | 7 +++++++
 1 file changed, 7 insertions(+)

---------------------------------------------------
2013-04-27 16:52:26 +0100 Tony Finch <dot@dotat.at>

unifdef: no need to edit keywords in defundef()

 unifdef.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

---------------------------------------------------
2013-04-27 16:44:58 +0100 Tony Finch <dot@dotat.at>

unifdef: rewrite the #define/#undef file parser

 unifdef.c | 158 +++++++++++++++++++++-----------------------------------------
 1 file changed, 52 insertions(+), 106 deletions(-)

---------------------------------------------------
2013-04-27 16:41:31 +0100 Tony Finch <dot@dotat.at>

unifdef: 64 bit evaluator, and quell type conversion warnings

 unifdef.c | 66 +++++++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 43 insertions(+), 23 deletions(-)

---------------------------------------------------
2013-04-27 16:38:00 +0100 Tony Finch <dot@dotat.at>

tests: display progress

 runtests.sh | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2013-04-26 17:48:14 +0100 Tony Finch <dot@dotat.at>

unifdef: more refactoring in -f mode

Moving towards sharing more of the parsing code between -f header
files and normal source files.

 unifdef.c | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

---------------------------------------------------
2013-04-26 17:43:54 +0100 Tony Finch <dot@dotat.at>

unifdef: Fix the behaviour of #define without a value

On the command line, `-DFOO` is a short-hand for `-DFOO=1`
whereas `#define FOO` is like `-DFOO=`.

 tests/if1.h |  2 +-
 unifdef.c   | 30 ++++++++++++------------------
 2 files changed, 13 insertions(+), 19 deletions(-)

---------------------------------------------------
2013-04-26 16:13:48 +0100 Tony Finch <dot@dotat.at>

reversion: avoid spurious rebuilds in a dirty tree

 reversion.sh | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2013-04-26 16:13:22 +0100 Tony Finch <dot@dotat.at>

Makefile: need a dependency on unifdef.h

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-04-26 15:51:56 +0100 Tony Finch <dot@dotat.at>

unifdef: count lines correctly when processing multiple files

 tests/multilnnum.experr |  0
 tests/multilnnum.expout | 42 ++++++++++++++++++++++++++++++++++++++++++
 tests/multilnnum.exprc  |  1 +
 tests/multilnnum.sh     |  7 +++++++
 unifdef.c               |  1 +
 5 files changed, 51 insertions(+)

---------------------------------------------------
2013-04-17 21:44:38 +0100 Tony Finch <dot@dotat.at>

tests: check handling of weird whitespace

 tests/whitespace-1.experr | 2 ++
 tests/whitespace-1.expout | 1 +
 tests/whitespace-1.exprc  | 1 +
 tests/whitespace-1.sh     | 1 +
 tests/whitespace-2.experr | 0
 tests/whitespace-2.expout | 5 +++++
 tests/whitespace-2.exprc  | 1 +
 tests/whitespace-2.sh     | 1 +
 tests/whitespace.c        | 7 +++++++
 9 files changed, 19 insertions(+)

---------------------------------------------------
2013-04-17 21:44:02 +0100 Tony Finch <dot@dotat.at>

tests: add missing if1.h

 tests/if1.h | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2013-04-17 21:39:15 +0100 Tony Finch <dot@dotat.at>

unifdef: improve handling of weird whitespace

This fixes the handling of lots of whitespace on a line,
and restores proper handling of final lines without newlines.

 unifdef.c | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-04-17 20:51:25 +0100 Tony Finch <dot@dotat.at>

unifdef: refactor parseline()

Create functions for finding preprocessor directives and for skipping
trailing junk and non-preprocessor text. This simplifies parseline()
and it will also be useful in defundef().

 unifdef.c | 182 +++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 98 insertions(+), 84 deletions(-)

---------------------------------------------------
2013-04-16 22:43:24 +0100 Tony Finch <dot@dotat.at>

unifdef: trace -f activity only in debug mode

 tests/if1-f.experr | 3 ---
 unifdef.c          | 4 ++--
 2 files changed, 2 insertions(+), 5 deletions(-)

---------------------------------------------------
2013-04-16 22:40:16 +0100 Tony Finch <dot@dotat.at>

tests: check basics of -f

 tests/if1-f.experr |  3 +++
 tests/if1-f.expout | 16 ++++++++++++++++
 tests/if1-f.exprc  |  1 +
 tests/if1-f.sh     |  1 +
 4 files changed, 21 insertions(+)

---------------------------------------------------
2013-04-16 22:34:11 +0100 Tony Finch <dot@dotat.at>

unifdef: better error handling and style for defundef()

 unifdef.c | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

---------------------------------------------------
2013-04-16 22:17:49 +0100 Tony Finch <dot@dotat.at>

unifdef: correctly handle multiple input files with differing newline styles

 tests/multinewline.experr |  0
 tests/multinewline.expout | 39 +++++++++++++++++++++++++++++++++++++++
 tests/multinewline.exprc  |  1 +
 tests/multinewline.sh     |  7 +++++++
 unifdef.c                 |  1 +
 5 files changed, 48 insertions(+)

---------------------------------------------------
2013-04-16 22:09:16 +0100 Tony Finch <dot@dotat.at>

unifdef: stylish undefile()

 unifdef.c | 133 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 67 insertions(+), 66 deletions(-)

---------------------------------------------------
2013-04-16 21:52:41 +0100 Tony Finch <dot@dotat.at>

README: credit Steve Underwood

 README | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2013-04-16 21:50:45 +0100 Tony Finch <dot@dotat.at>

unifdef: cleanup addsym() code duplication and name undefile()

 unifdef.c | 70 ++++++++++++++++++++++++++++-----------------------------------
 1 file changed, 31 insertions(+), 39 deletions(-)

---------------------------------------------------
2013-04-16 21:28:53 +0100 Tony Finch <dot@dotat.at>

unifdef: use -f option for definitions files, and add documentation

 unifdef.1 | 22 ++++++++++++++++++++++
 unifdef.c | 14 +++++++-------
 2 files changed, 29 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-04-16 20:51:34 +0100 Tony Finch <dot@dotat.at>

unifdef: read definitions an undefinitions from a file

Submitted-by: Steve Underwood <steveu@coppice.org>

 unifdef.c | 167 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 165 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-04-07 11:07:46 +0100 Tony Finch <dot@dotat.at>

win32: report intermediate errors in replace()

 win32/win32.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-04-07 11:04:10 +0100 Tony Finch <dot@dotat.at>

unifdef: slightly cleaner backup filename handling

 unifdef.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-04-07 10:57:48 +0100 Tony Finch <dot@dotat.at>

unifdef: close input when processing is complete

This avoids leaking input file handles when processing multiple
files, and it should help with the temporary file handling
problems on Windows.

 unifdef.c | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

---------------------------------------------------
2013-04-07 10:55:13 +0100 Tony Finch <dot@dotat.at>

unifdef: add a comment to explain the newline handling

 unifdef.c | 9 +++++++++
 1 file changed, 9 insertions(+)

---------------------------------------------------
2013-04-06 13:51:10 +0100 Tony Finch <dot@dotat.at>

win32: ReplaceFile() is not the right thing either.

Sometimes unifdef calls replace() when the target filename does not
exist, in which situation ReplaceFile() fails. So it is easier to
call remove() and rename() and not worry about atomic replacement.

 win32/win32.c | 29 ++++-------------------------
 1 file changed, 4 insertions(+), 25 deletions(-)

---------------------------------------------------
2013-04-04 12:46:09 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

travis-ci: import travis yaml controller

.travis.yml is used for automatic builds on travis build farm
(https://travis-ci.org/) if the travis service hook is enabled for the
repo on github.

This inital yaml controller will run 3 different compilers (gcc, clang,
mingw). Mingw builds will use wine for running the test suite, which
currently fails for some tests to be fixed (or skipped) later.

Builds are enabled for two branches "master" and "tmp" where the tmp
branch may be used to try something out whithout polluting the master
history (specially when changing/testing .travis.yml itself).

 .travis.yml | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

---------------------------------------------------
2013-04-06 13:24:03 +0100 Tony Finch <dot@dotat.at>

win32: use ReplaceFile() instead of rename()

The Windows implementation of rename() fails if the new filename
already exists. When processing the input file in place, unifdef
uses ReplaceFile() instead.

 unifdef.c       |  2 +-
 unifdef.h       |  2 ++
 win32/unifdef.h |  1 +
 win32/win32.c   | 33 +++++++++++++++++++++++++++++++++
 4 files changed, 37 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-04-04 13:28:31 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

Makefile: specify path to version.sh in release target.

Some shells only source from $PATH not the current directory.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-04-04 13:11:20 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

Tell git to ignore .exe target.

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2013-04-04 12:45:05 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

INSTALL: fix typo

 INSTALL | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-04-02 21:51:39 +0100 Tony Finch <dot@dotat.at>

tests/multimissing: avoid platform-dependent error message

Reported-by: Ruediger Meier <ruediger.meier@ga-group.nl>

 tests/multimissing.experr | 3 +--
 tests/multimissing.sh     | 9 +++++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-04-02 14:07:20 +0200 Ruediger Meier <ruediger.meier@ga-group.nl>

tests: locale-independent diffs in multi-file tests

We want to sed away file mtimes from the diff output but date/time
format may depend on platform and locale.
(Noticed on OpenBSD 5.1)

 tests/multi.sh        | 4 ++--
 tests/multimissing.sh | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-04-02 21:27:17 +0100 Tony Finch <dot@dotat.at>

unifdefall: use cc -E -dM instead of cpp -dM

This is a workaround for Mac OS X, in which ccp invokes gcc
with the -traditional-cpp option which disables C99 variadic
macros. Unfortunately stdio.h requires variadic macro support
so real programs, as well as the tests, are likely to break.

I am not sure if this is the right fix. It is marginally closer to
POSIX, since it has c99 -E but not cpp. But POSIX also lacks cc and
the -dM option.

 unifdefall.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-04-02 21:25:14 +0100 Tony Finch <dot@dotat.at>

tests: fix a typo in a type name, caught by clang

 tests/if5-a.expout | 2 +-
 tests/if5.c        | 2 +-
 tests/if5.expout   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-03-31 16:00:36 +0100 Tony Finch <dot@dotat.at>

reversion: deal with a git regression when the tree is clean

Some time between git-1.7.3 and git-1.7.10 `git show --quiet`
stopped working. Apparently the official way to suppress
the diff output is now with the -s option. Neither of these
options is documented in the `git show` man page; `git diff`
documents the --quiet option for this purpose and `git log`
documents the -s option.

See also http://thread.gmane.org/gmane.comp.version-control.git/174665

Reported-by: Bruce Korb <bruce.korb@gmail.com>

 reversion.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-03-28 19:05:30 +0000 Tony Finch <dot@dotat.at>

bump copyright dates

 unifdef.1     | 2 +-
 unifdef.c     | 2 +-
 unifdefall.sh | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-03-28 19:04:50 +0000 Tony Finch <dot@dotat.at>

web: freshmeat iis now freecode

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2013-03-28 18:50:12 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.7

 web/index.html | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-03-28 18:43:36 +0000 Tony Finch <dot@dotat.at>

web: bump prerelease version again

 web/index.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2013-03-28 18:37:41 +0000 Tony Finch <dot@dotat.at>

unifdef.1: Remove superfluous paragraph macro.

Obtained-from: Joel Dahl <joel@FreeBSD.org>

 unifdef.1 | 1 -
 1 file changed, 1 deletion(-)

---------------------------------------------------
2013-03-28 18:35:10 +0000 Tony Finch <dot@dotat.at>

unifdefall: No need to use `basename`.

Obtained-from: David O'Brien <obrien@FreeBSD.org>

 unifdefall.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

---------------------------------------------------
2013-03-28 18:18:48 +0000 Tony Finch <dot@dotat.at>

unifdef: fix type mismatch in debug() calls.

Adapted from a similar fix by Jörg Sonnenberger <joerg@NetBSD.org>

 unifdef.c | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

---------------------------------------------------
2013-03-28 17:36:25 +0000 Tony Finch <dot@dotat.at>

win32: Makefile for MinGW.

Suggested by: Mateusz Czaplinski <czapkofan@gmail.com>

 INSTALL              | 8 +++++---
 win32/Makefile.mingw | 7 +++++++
 2 files changed, 12 insertions(+), 3 deletions(-)

---------------------------------------------------
2013-03-28 17:24:37 +0000 Tony Finch <dot@dotat.at>

unifdef.c: quell warnings

 unifdef.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

---------------------------------------------------
2013-03-28 16:47:06 +0000 Tony Finch <dot@dotat.at>

web: bump prerelease version

 web/index.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2013-03-28 16:38:34 +0000 Tony Finch <dot@dotat.at>

Include the input file name on #line directives.

Suggested by: Bob Lewis <bobl@tricity.wsu.edu>

 tests/overlnnum.expout |  8 ++++----
 unifdef.c              | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 7 deletions(-)

---------------------------------------------------
2013-03-28 16:08:00 +0000 Tony Finch <dot@dotat.at>

Configurable exit mode, to be more friendly to make files.

Suggested by: Bob Lewis <bobl@tricity.wsu.edu>

 tests/exitmode0a.experr |  0
 tests/exitmode0a.expout | 16 ++++++++++++++++
 tests/exitmode0a.exprc  |  1 +
 tests/exitmode0a.sh     |  1 +
 tests/exitmode0b.experr |  0
 tests/exitmode0b.expout | 26 ++++++++++++++++++++++++++
 tests/exitmode0b.exprc  |  1 +
 tests/exitmode0b.sh     |  1 +
 tests/exitmode1a.experr |  0
 tests/exitmode1a.expout | 16 ++++++++++++++++
 tests/exitmode1a.exprc  |  1 +
 tests/exitmode1a.sh     |  1 +
 tests/exitmode1b.experr |  0
 tests/exitmode1b.expout | 26 ++++++++++++++++++++++++++
 tests/exitmode1b.exprc  |  1 +
 tests/exitmode1b.sh     |  1 +
 tests/exitmode2a.experr |  0
 tests/exitmode2a.expout | 16 ++++++++++++++++
 tests/exitmode2a.exprc  |  1 +
 tests/exitmode2a.sh     |  1 +
 tests/exitmode2b.experr |  0
 tests/exitmode2b.expout | 26 ++++++++++++++++++++++++++
 tests/exitmode2b.exprc  |  1 +
 tests/exitmode2b.sh     |  1 +
 unifdef.1               | 40 ++++++++++++++++++++++++++++++++++++----
 unifdef.c               | 23 ++++++++++++++++-------
 26 files changed, 190 insertions(+), 11 deletions(-)

---------------------------------------------------
2012-09-06 17:58:59 +0100 Tony Finch <dot@dotat.at>

web: fix the anchor text too!

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2012-09-06 17:57:07 +0100 Tony Finch <dot@dotat.at>

web: correct link to Windows .zip file

Reported by: Mateusz Czaplinski <czapkofan@gmail.com>

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2012-02-22 14:04:31 +0000 Tony Finch <dot@dotat.at>

web: bump pre-release version

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2012-02-22 13:52:47 +0000 Tony Finch <dot@dotat.at>

win32: build fixes

Submitted by: 김이선 <veblush@neople.co.kr>

 win32/unifdef.h       |  2 ++
 win32/unifdef.vcxproj | 19 ++++++++++++-------
 2 files changed, 14 insertions(+), 7 deletions(-)

---------------------------------------------------
2012-02-21 18:45:52 +0000 Tony Finch <dot@dotat.at>

web: advertise pre-release with Windows support

 web/index.html | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2012-02-21 18:42:22 +0000 Tony Finch <dot@dotat.at>

reversion: more verbose when updating. Changelog depends on version.h.

 Makefile     | 2 +-
 reversion.sh | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2012-02-21 18:08:23 +0000 Tony Finch <dot@dotat.at>

release: build zip file as well as tarball.

 Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

---------------------------------------------------
2012-02-21 18:00:44 +0000 Tony Finch <dot@dotat.at>

release: include the portability stuff in release tarballs.

We now also include version.h so the Windows build doesn't
need to run version.sh.

 INSTALL               | 10 ++++++----
 Makefile              | 24 +++++++-----------------
 win32/unifdef.vcxproj |  1 +
 3 files changed, 14 insertions(+), 21 deletions(-)

---------------------------------------------------
2012-02-21 17:21:29 +0000 Tony Finch <dot@dotat.at>

win32: Visual Studio 2010 build files.

Submitted by: 김이선 <veblush@neople.co.kr>

 win32/unifdef.sln     | 20 ++++++++++++
 win32/unifdef.vcxproj | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+)

---------------------------------------------------
2012-02-21 16:45:19 +0000 Tony Finch <dot@dotat.at>

port: Windows support.

I have already committed copies of the err.c and getopt.c library
code from FreeBSD.

Another trouble spot is the temporary file used when modifying in
place. I have pulled this out into a support function with different
implementations on Unix and Windows. Windows lacks mkstemp(), so
there we just use mktemp() and for simplicity leave the permissions
as the default set by fopen() rather than copying from another file.

Unifdef does its own newline handling in order to work correctly
with files that use CRLF or bare LF regardless of the system's
native preference. It therefore opens streams in binary mode. On
Windows we also need to put stdin and stdout into binary mode for
consistency.

More trivially, there is no stdbool support and a couple of library
functions have gratuitous underscores appended to their names.

This is based on submissions from the following people, to whom
I am grateful since I lack Windows development experience.

Submitted by: 김이선 <veblush@neople.co.kr>
Submitted by: Alexander Mohr <thehesiod@gmail.com>

 COPYING         | 18 ++++++++-------
 unifdef.c       | 21 ++++--------------
 unifdef.h       | 48 +++++++++++++++++++++++++++++++++++++++
 win32/unifdef.h | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 win32/win32.c   | 40 +++++++++++++++++++++++++++++++++
 5 files changed, 171 insertions(+), 25 deletions(-)

---------------------------------------------------
2012-02-21 16:02:48 +0000 Tony Finch <dot@dotat.at>

unifdef: Update copyright dates.

 COPYING   | 4 ++--
 unifdef.1 | 4 ++--
 unifdef.c | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2012-02-21 15:41:46 +0000 Tony Finch <dot@dotat.at>

port: clean up err.c and getopt.c

Move headers out to shared unifdef.h
Make getopt use prototypes and const correctly.
Remove err_set_file and err_set_exit support.

 FreeBSD/err.c    | 93 +++++++++++---------------------------------------------
 FreeBSD/getopt.c | 27 +++-------------
 2 files changed, 23 insertions(+), 97 deletions(-)

---------------------------------------------------
2012-02-21 13:27:28 +0000 Tony Finch <dot@dotat.at>

unifdef.c: use memcpy() instead of the dodgy strncpy().

This makes it clearer that I do not want a '\0' terminator.

Submitted by: Carsten Hey <carsten@debian.org>

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2012-02-21 12:34:35 +0000 Tony Finch <dot@dotat.at>

unifdef.c: prefer remove() to unlink() for portability.

Submitted by: Carsten Hey <carsten@debian.org>

 unifdef.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2012-02-21 12:27:55 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Fix memory leaks in temporary and backup file handling.

 unifdef.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

---------------------------------------------------
2012-02-20 18:58:01 +0000 Tony Finch <dot@dotat.at>

port: Copy err.c and getopt.c from FreeBSD.

 FreeBSD/err.c    | 195 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 FreeBSD/getopt.c | 135 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 330 insertions(+)

---------------------------------------------------
2012-02-20 17:09:55 +0000 Tony Finch <dot@dotat.at>

tests: multi-file, error handling, output permissions.

Also: the fixtests script updates the test suite after it has
been changed and passed a manual check.

The runtests script now runs each test in a subshell so that
tests have greater control over their exit status.

 fixtests.sh               |  9 +++++++++
 runtests.sh               |  2 +-
 tests/multi.experr        |  0
 tests/multi.expout        | 36 ++++++++++++++++++++++++++++++++++++
 tests/multi.exprc         |  1 +
 tests/multi.sh            |  7 +++++++
 tests/multimissing.experr |  3 +++
 tests/multimissing.expout | 22 ++++++++++++++++++++++
 tests/multimissing.exprc  |  1 +
 tests/multimissing.sh     |  7 +++++++
 tests/outdir.exprc        |  2 +-
 tests/outdir.sh           |  2 ++
 tests/outeperm.experr     |  1 +
 tests/outeperm.expout     |  0
 tests/outeperm.exprc      |  1 +
 tests/outeperm.sh         |  6 ++++++
 tests/outfile.exprc       |  2 +-
 tests/outfile.sh          |  2 ++
 tests/outperms.experr     |  1 +
 tests/outperms.expout     | 16 ++++++++++++++++
 tests/outperms.exprc      |  1 +
 tests/outperms.sh         |  7 +++++++
 tests/overdir.exprc       |  2 +-
 tests/overdir.sh          |  2 ++
 tests/overenoent.experr   |  1 +
 tests/overenoent.expout   |  0
 tests/overenoent.exprc    |  1 +
 tests/overenoent.sh       |  5 +++++
 tests/overin.exprc        |  2 +-
 tests/overin.sh           |  2 ++
 tests/overlnnum.exprc     |  2 +-
 tests/overlnnum.sh        |  2 ++
 tests/overperms.experr    |  2 ++
 tests/overperms.expout    | 16 ++++++++++++++++
 tests/overperms.exprc     |  1 +
 tests/overperms.sh        |  9 +++++++++
 tests/overwrite.exprc     |  2 +-
 tests/overwrite.sh        |  2 ++
 38 files changed, 173 insertions(+), 7 deletions(-)

---------------------------------------------------
2012-02-20 15:54:17 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Sensible permissions on output files.

This fixes a regression in the multiple files support.

 unifdef.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

---------------------------------------------------
2012-02-19 19:42:11 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Some C89 and C++ compatibility.

Suggested by: Carsten Hey <carsten@debian.org>

 unifdef.c | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

---------------------------------------------------
2012-02-18 20:15:27 +0000 Tony Finch <dot@dotat.at>

Add a -h (print help) option.

 unifdef.1 |  5 ++++-
 unifdef.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 53 insertions(+), 6 deletions(-)

---------------------------------------------------
2012-02-17 22:47:24 +0000 Tony Finch <dot@dotat.at>

unifdef.c: trim unnecessary header includes

We now avoid using errno.h, because on some glibc systems it is the
only header that depends on the kernel headers. This makes it
possible to install the Linux kernel headers from source to fix a
broken system with incomplete headers.

Suggested by: Mike Frysinger <vapier@gentoo.org>

 unifdef.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2012-02-17 22:31:19 +0000 Tony Finch <dot@dotat.at>

Support for processing multiple files in place, with or without backups.

Suggested by: Joergen Edelbo <joergen.edelbo@nokia.com>

 unifdef.1 |  46 +++++++------
 unifdef.c | 219 ++++++++++++++++++++++++++++++++++++--------------------------
 2 files changed, 155 insertions(+), 110 deletions(-)

---------------------------------------------------
2012-02-17 18:18:26 +0000 Tony Finch <dot@dotat.at>

unifdef.1: alphabetize options; better phrasing and concision.

 unifdef.1 | 98 +++++++++++++++++++++++++--------------------------------------
 1 file changed, 39 insertions(+), 59 deletions(-)

---------------------------------------------------
2011-11-07 17:14:54 +0000 Tony Finch <dot@dotat.at>

unifdef.1: Split some macros with many arguments.

Improves compatibility with non-GNU troff.

Obtained from: Jason McIntyre <jmc@OpenBSD.org>

 unifdef.1 | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

---------------------------------------------------
2011-11-07 17:00:13 +0000 Tony Finch <dot@dotat.at>

Make copyright string static to please static analysers.

Obtained-from: Ed Schouten <ed@FreeBSD.org>

 unifdef.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2011-05-23 10:53:20 +0100 Tony Finch <dot@dotat.at>

reversion.sh: Less verbose in normal cases, more verbose on error.

 reversion.sh | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2011-05-23 10:45:47 +0100 Tony Finch <dot@dotat.at>

test: Use the PATH to find unifdef.

 runtests.sh            | 1 +
 tests/NetBSD-42628.sh  | 2 +-
 tests/args1.sh         | 2 +-
 tests/args2.sh         | 2 +-
 tests/blank0d.sh       | 2 +-
 tests/blank0u.sh       | 2 +-
 tests/blank1d.sh       | 2 +-
 tests/blank1u.sh       | 2 +-
 tests/blank2d.sh       | 2 +-
 tests/blank2u.sh       | 2 +-
 tests/blank3d.sh       | 2 +-
 tests/blank3u.sh       | 2 +-
 tests/blank4d.sh       | 2 +-
 tests/blank4u.sh       | 2 +-
 tests/crlf-a.sh        | 2 +-
 tests/crlf-b.sh        | 2 +-
 tests/crlf-c.sh        | 2 +-
 tests/crlf-d.sh        | 2 +-
 tests/debian-603860.sh | 2 +-
 tests/empty.sh         | 2 +-
 tests/if1-a.sh         | 2 +-
 tests/if1-k.sh         | 2 +-
 tests/if1-kDU.sh       | 2 +-
 tests/if1.sh           | 2 +-
 tests/if1a.sh          | 2 +-
 tests/if2-a.sh         | 2 +-
 tests/if2-k.sh         | 2 +-
 tests/if2-kDU.sh       | 2 +-
 tests/if2.sh           | 2 +-
 tests/if3-a.sh         | 2 +-
 tests/if3-k.sh         | 2 +-
 tests/if3-kDU.sh       | 2 +-
 tests/if3.sh           | 2 +-
 tests/if4-a.sh         | 2 +-
 tests/if4-k.sh         | 2 +-
 tests/if4-kDU.sh       | 2 +-
 tests/if4.sh           | 2 +-
 tests/if5-a.sh         | 2 +-
 tests/if5-k.sh         | 2 +-
 tests/if5-kDU.sh       | 2 +-
 tests/if5.sh           | 2 +-
 tests/if6a.sh          | 2 +-
 tests/if6b.sh          | 2 +-
 tests/if6c.sh          | 2 +-
 tests/if6d.sh          | 2 +-
 tests/none.sh          | 2 +-
 tests/outdir.sh        | 2 +-
 tests/outfile.sh       | 2 +-
 tests/overdir.sh       | 2 +-
 tests/overin.sh        | 2 +-
 tests/overlnnum.sh     | 2 +-
 tests/overwrite.sh     | 2 +-
 tests/small1.sh        | 2 +-
 tests/small2.sh        | 2 +-
 tests/spaces1.sh       | 2 +-
 tests/spaces2.sh       | 2 +-
 tests/spaces3.sh       | 2 +-
 tests/spaces4.sh       | 2 +-
 58 files changed, 58 insertions(+), 57 deletions(-)

---------------------------------------------------
2011-05-23 10:18:59 +0100 Tony Finch <dot@dotat.at>

tests: Add a test case from NetBSD PR 42628.

This is adapted from the NetBSD automated testing framework, to
which the test case was added by Jukka Ruohonen <jruoho@NetBSD.org>.

Obtained-from: http://cvsweb.netbsd.org/bsdweb.cgi/src/tests/usr.bin/unifdef/

 tests/NetBSD-42628.c      | 25 +++++++++++++++++++++++++
 tests/NetBSD-42628.experr |  0
 tests/NetBSD-42628.expout |  6 ++++++
 tests/NetBSD-42628.exprc  |  1 +
 tests/NetBSD-42628.sh     |  1 +
 5 files changed, 33 insertions(+)

---------------------------------------------------
2011-04-20 12:14:46 +0100 Tony Finch <dot@dotat.at>

.htaccess: remove gzip encoding

This should discourage HTTP clients from auto-decompressing
.tar.gz files and causing higher-level tools to get checksum
mismatches.

 web/.htaccess | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2011-02-22 16:53:10 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.6

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2011-02-21 17:20:13 +0000 Tony Finch <dot@dotat.at>

unifdef: -s and -o are mutually exclusive

 unifdef.c | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2011-01-21 17:45:45 +0000 Tony Finch <dot@dotat.at>

unifdef.c: detect output errors promptly

This ensures that errno has a meaningful value when we come to
print the error message.

 unifdef.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

---------------------------------------------------
2011-01-21 17:27:39 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Use ferror() to detect IO errors better.

 unifdef.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

---------------------------------------------------
2011-01-20 17:31:28 +0000 Tony Finch <dot@dotat.at>

unifdef.c: Write line numbers to -o output file.

I must have missed this because NetBSD doesn't have the -n feature.

 tests/overlnnum.experr |  0
 tests/overlnnum.expout | 20 ++++++++++++++++++++
 tests/overlnnum.exprc  |  1 +
 tests/overlnnum.sh     |  4 ++++
 unifdef.c              |  2 +-
 5 files changed, 26 insertions(+), 1 deletion(-)

---------------------------------------------------
2011-01-20 17:20:57 +0000 Tony Finch <dot@dotat.at>

unifdef.c: further error message improvements

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2011-01-20 16:27:06 +0000 Tony Finch <dot@dotat.at>

unifdef.c: more output filename correctness.

Submitted-by: Brian Ginsbach <ginsbach@netbsd.org>

 unifdef.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2011-01-18 19:51:40 +0000 Tony Finch <dot@dotat.at>

Update copyright date.

 COPYING   | 4 ++--
 unifdef.1 | 4 ++--
 unifdef.c | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2011-01-18 18:48:45 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.5

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2011-01-18 18:39:52 +0000 Tony Finch <dot@dotat.at>

admin: no need to keep old import script visible

 authors.cvs   |  2 --
 import-script | 76 -----------------------------------------------------------
 2 files changed, 78 deletions(-)

---------------------------------------------------
2011-01-18 18:11:24 +0000 Tony Finch <dot@dotat.at>

authors.svn: add joel

 authors.svn | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2011-01-18 17:50:58 +0000 Tony Finch <dot@dotat.at>

unifdef.c: correct output filename when overwriting stdin

The bug occurs in cases like `unifdef -o file < file`

 tests/overin.experr |  0
 tests/overin.expout | 16 ++++++++++++++++
 tests/overin.exprc  |  1 +
 tests/overin.sh     |  4 ++++
 unifdef.c           |  4 ++--
 5 files changed, 23 insertions(+), 2 deletions(-)

---------------------------------------------------
2011-01-18 17:37:58 +0000 Tony Finch <dot@dotat.at>

unifdef.c: neater overwrite check, inspired by ginsbach@NetBSD.org

 unifdef.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

---------------------------------------------------
2011-01-17 11:16:21 +0000 Tony Finch <dot@dotat.at>

unifdef.c: explain in comments that strncpy() is used correctly.

 unifdef.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-11-18 16:51:40 +0000 Tony Finch <dot@dotat.at>

tests: add one taken from Debian bug #603860

 tests/debian-603860.c      | 8 ++++++++
 tests/debian-603860.experr | 0
 tests/debian-603860.expout | 2 ++
 tests/debian-603860.exprc  | 1 +
 tests/debian-603860.sh     | 1 +
 5 files changed, 12 insertions(+)

---------------------------------------------------
2010-11-09 11:28:11 +0000 Tony Finch <dot@dotat.at>

web/index.html: Add a link to my homepage in the header.

 web/index.html | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-09-13 12:14:15 +0000 Tony Finch <dot@dotat.at>

Re-roll release of unifdef-2.4

---------------------------------------------------
2010-09-13 12:00:04 +0000 Tony Finch <dot@dotat.at>

Makefile: omit merge commits from the Changelog

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-09-13 12:03:10 +0000 Tony Finch <dot@dotat.at>

svnup: switch to admin branch so git svn fetch can read authors file.

 svnup | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2010-09-13 11:52:48 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.4

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-09-13 11:13:43 +0000 Tony Finch <dot@dotat.at>

reversion.sh: do not search $PATH for version.sh

The "." keyword for sourcing files searches $PATH when its argument
does not contain a slash. If you want to load a file from $PWD, you
have to prefix the filename with "./".

Signed-off-by: Mike Frysinger <vapier@gentoo.org>

 reversion.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-08-03 15:58:22 +0100 Tony Finch <dot@dotat.at>

unifdef.1: fix typo (degugging -> debugging)

Obtained from: Joel Dahl <joel@NetBSD.org>

 unifdef.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-05-01 20:49:47 +0000 Tony Finch <dot@dotat.at>

upload: seems we need separate pushes for heads and tags.

 upload | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-05-01 20:47:08 +0000 Tony Finch <dot@dotat.at>

upload tags to github

 upload | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-04-12 16:38:19 +0000 Tony Finch <dot@dotat.at>

COPYING: explain the deleted advertising clause more clearly.

 COPYING | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-04-05 03:00:24 +0100 Tony Finch <dot@dotat.at>

reversion.sh: put hyphen in unifdef-N.N

 reversion.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-04-04 21:22:05 +0000 Tony Finch <dot@dotat.at>

upload: git gc --aggressively

 upload | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-31 13:57:08 +0000 Tony Finch <dot@dotat.at>

web: Advertise repository using native git protocol

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-18 16:28:14 +0000 Tony Finch <dot@dotat.at>

Makefile: reinstate realclean's double negative logic

The positive logic causes make to bomb out when there is no .git
directory.

Reported-by: Colin Watson <cjwatson@chiark.greenend.org.uk>

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-16 10:14:31 +0000 Tony Finch <dot@dotat.at>

web/.htaccess: fix the redirects for the old test URLs.

This requires a disgusting double redirect hack because Apache-1.3
percent-encodes ? and ; in URLs generated by RedirectMatch, but
not with plain Redirect.

 web/.htaccess | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-15 19:05:10 +0000 Tony Finch <dot@dotat.at>

upload: Changelog file not needed for website

 upload | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-15 19:00:06 +0000 Tony Finch <dot@dotat.at>

Makefile: remove double negative logic in realclean target

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-15 18:56:36 +0000 Tony Finch <dot@dotat.at>

upload: Ensure all generated web site files are in the right place

 upload | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-03-15 18:54:03 +0000 Tony Finch <dot@dotat.at>

Makefile: do not remove any ${DISTFILES} in the clean target.

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-15 14:53:30 +0000 Tony Finch <dot@dotat.at>

Makefile: add missing blank line at end of Changelog

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 21:50:14 +0000 Tony Finch <dot@dotat.at>

upload: Add a README.html for gitweb.

 upload | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 19:42:53 +0000 Tony Finch <dot@dotat.at>

Save a copy of my main .git/config

 git.config | 12 ++++++++++++
 1 file changed, 12 insertions(+)

---------------------------------------------------
2010-03-12 19:37:19 +0000 Tony Finch <dot@dotat.at>

upload: ensure unifdef.txt exists

 upload | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2010-03-12 19:36:26 +0000 Tony Finch <dot@dotat.at>

Remove the upload script to the admin branch.

 Makefile | 9 ---------
 1 file changed, 9 deletions(-)

---------------------------------------------------
2010-03-12 19:34:06 +0000 Tony Finch <dot@dotat.at>

Move the upload script into the admin area.

 upload | 11 +++++++++++
 1 file changed, 11 insertions(+)

---------------------------------------------------
2010-03-12 19:06:39 +0000 Tony Finch <dot@dotat.at>

README: include an introductory paragraph

 README | 5 +++++
 1 file changed, 5 insertions(+)

---------------------------------------------------
2010-03-12 18:57:52 +0000 Tony Finch <dot@dotat.at>

Make import-script un-runnable but keep it for reference

 import-script | 3 +++
 1 file changed, 3 insertions(+)

---------------------------------------------------
2010-03-12 18:55:34 +0000 Tony Finch <dot@dotat.at>

Add a little script for re-syncing with FreeBSD's svn repo.

 svnup | 12 ++++++++++++
 1 file changed, 12 insertions(+)

---------------------------------------------------
2010-03-12 18:50:35 +0000 Tony Finch <dot@dotat.at>

git-svn turns out not to work very well with non-default names.

 import-script | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

---------------------------------------------------
2010-03-12 17:34:56 +0000 Tony Finch <dot@dotat.at>

reversion.sh: tidier version numbers for modified sources

 reversion.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 16:27:30 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.3

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 16:23:35 +0000 Tony Finch <dot@dotat.at>

Makefile: upload to github before chiark

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 16:21:27 +0000 Tony Finch <dot@dotat.at>

Tweak the home page.

Add the .htaccess file which keeps old URLs working.

 web/.htaccess  | 11 +++++++++++
 web/index.html | 11 ++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-03-12 15:43:19 +0000 Tony Finch <dot@dotat.at>

Make the home page and gitweb titles consistent.

 Makefile       | 2 +-
 web/index.html | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-12 15:29:12 +0000 Tony Finch <dot@dotat.at>

Rename get-version.sh to reversion.sh for fun.

 Makefile                       | 4 ++--
 get-version.sh => reversion.sh | 0
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 15:23:40 +0000 Tony Finch <dot@dotat.at>

Makefile: do not try to build unifdef.txt by default.

DISTFILES shouldn't be in non-release targets.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 12:22:51 +0000 Tony Finch <dot@dotat.at>

Add -V and -S flags to synopses

 unifdef.1 | 2 +-
 unifdef.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 11:07:35 +0000 Tony Finch <dot@dotat.at>

web/index.html: link to github

 web/index.html | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 11:07:35 +0000 Tony Finch <dot@dotat.at>

web/index.html: link to github

 web/index.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 11:03:03 +0000 Tony Finch <dot@dotat.at>

README: add information about obtaining unifdef using git.

 README | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-12 11:01:15 +0000 Tony Finch <dot@dotat.at>

Makefile: tweak upload target

Remove unsafe `git prune`. Push a copy to github.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 11:00:26 +0000 Tony Finch <dot@dotat.at>

web/index.html: Fix git clone URL.

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 10:15:18 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.2

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 10:08:04 +0000 Tony Finch <dot@dotat.at>

unifdefall: print debugging output to stderr

 unifdefall.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-12 10:04:14 +0000 Tony Finch <dot@dotat.at>

unifdefall: correct exit status if the clean-up rm fails

Reported-by: Bob Proulx <bob@proulx.com>

 unifdefall.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-12 09:52:46 +0000 Tony Finch <dot@dotat.at>

get-version.sh: fix build in clean git working tree

`git show` exited non-zero which aborted the build.

 get-version.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-12 09:34:18 +0000 Tony Finch <dot@dotat.at>

Makefile: fix version.h -> unifdef.c -> unifdef dependencies.

 Makefile | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-03-12 09:28:02 +0000 Tony Finch <dot@dotat.at>

get-version.sh fixes

Test for the existence of version.sh (not version.h> before sourcing it.
Cat the version files after re-writing them.
Use printf(1) to create version.h for portability.

 get-version.sh | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-03-11 21:41:45 +0000 Tony Finch <dot@dotat.at>

Makefile: safer "realclean" target

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-11 21:17:58 +0000 Tony Finch <dot@dotat.at>

Release unifdef-2.1

 web/index.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-11 21:12:03 +0000 Tony Finch <dot@dotat.at>

Add a -V option to print the embedded version details.

 unifdef.1 |  5 ++++-
 unifdef.c | 19 ++++++++++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-11 21:01:23 +0000 Tony Finch <dot@dotat.at>

Makefile: remove release.sh from DISTFILES

 Makefile | 1 -
 1 file changed, 1 deletion(-)

---------------------------------------------------
2010-03-11 20:59:11 +0000 Tony Finch <dot@dotat.at>

Makefile: prune .git before uploading

 Makefile | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2010-03-11 20:56:29 +0000 Tony Finch <dot@dotat.at>

index.html: mention the git glone command

 web/index.html | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-03-11 20:52:26 +0000 Tony Finch <dot@dotat.at>

Re-do the website handling and add an upload target.

 Makefile                        | 15 +++++++++++----
 index.html.in => web/index.html | 17 ++---------------
 2 files changed, 13 insertions(+), 19 deletions(-)

---------------------------------------------------
2010-03-11 20:28:13 +0000 Tony Finch <dot@dotat.at>

Tell git to ignore release files.

 .gitignore | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2010-03-11 20:27:04 +0000 Tony Finch <dot@dotat.at>

Move release script into Makefile.

 Makefile   | 45 ++++++++++++++++++++++++++++++++++++---------
 release.sh | 37 -------------------------------------
 2 files changed, 36 insertions(+), 46 deletions(-)

---------------------------------------------------
2010-03-11 20:08:03 +0000 Tony Finch <dot@dotat.at>

Tell git to ignore output files.

 .gitignore | 5 +++++
 1 file changed, 5 insertions(+)

---------------------------------------------------
2010-03-11 20:04:35 +0000 Tony Finch <dot@dotat.at>

Makefile: do not clean inside .git directory.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-11 18:57:37 +0000 Tony Finch <dot@dotat.at>

Embed version information from git into the unifdef binary.

 Makefile       |  9 ++++++---
 get-version.sh | 32 ++++++++++++++++++++++++++++++++
 unifdef.c      |  9 +++++----
 3 files changed, 43 insertions(+), 7 deletions(-)

---------------------------------------------------
2010-03-11 18:57:15 +0000 Tony Finch <dot@dotat.at>

Makefile: clean trailing whitespace.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-11 18:56:58 +0000 Tony Finch <dot@dotat.at>

INSTALL: Note the CFLAGS and LDFLAGS make variables.

 INSTALL | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-03-11 18:56:34 +0000 Tony Finch <dot@dotat.at>

Remove sccs, cvs, and svn revision tags.

 INSTALL       | 2 +-
 Makefile      | 2 +-
 README        | 3 +--
 index.html.in | 1 -
 release.sh    | 2 --
 runtests.sh   | 2 --
 unifdef.1     | 4 ----
 unifdef.c     | 5 ++---
 unifdefall.sh | 2 --
 9 files changed, 5 insertions(+), 18 deletions(-)

---------------------------------------------------
2010-03-11 18:52:37 +0000 Tony Finch <dot@dotat.at>

combine admin repo too

 import-script | 2 ++
 1 file changed, 2 insertions(+)

---------------------------------------------------
2010-03-11 18:43:15 +0000 Tony Finch <dot@dotat.at>

A reminder of how this repository was created.

 authors.cvs   |  2 ++
 authors.svn   | 14 ++++++++++++
 import-script | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 88 insertions(+)

---------------------------------------------------
2010-03-10 17:42:54 +0000 Tony Finch <dot@dotat.at>

Improved debugging support.

Add line numbers to unifdef's debugging output. Flush the output stream
on each line when debugging to ensure stdout and stderr are properly
interleaved. Add a debugging mode to unifdefall.sh which outputs its
intermediate working files.

 unifdef.c     | 12 ++++++++----
 unifdefall.sh | 20 +++++++++++++++-----
 2 files changed, 23 insertions(+), 9 deletions(-)

---------------------------------------------------
2010-03-07 18:11:07 +0000 Tony Finch <dot@dotat.at>

Forced commit to note change to test suite.

 runtests.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2010-03-07 17:56:06 +0000 Tony Finch <dot@dotat.at>

Adjust tests for change in license header.

The extra line at the beginning of if1.c caused the line numbers
in 'diff' output to change.  Rather than playing catch-up, simplify
the relevant tests to keep working if if1.c changes in other ways
in the future.

Submitted by: Jonathan Nieder <jrnieder@gmail.com>

 tests/outdir.expout    | 30 ++++++++++++++++--------------
 tests/outdir.sh        |  2 +-
 tests/outfile.expout   | 30 ++++++++++++++++--------------
 tests/outfile.sh       |  2 +-
 tests/overdir.expout   | 30 ++++++++++++++++--------------
 tests/overdir.sh       |  2 +-
 tests/overwrite.expout | 30 ++++++++++++++++--------------
 tests/overwrite.sh     |  2 +-
 8 files changed, 68 insertions(+), 60 deletions(-)

---------------------------------------------------
2010-03-06 14:40:15 +0000 Tony Finch <dot@dotat.at>

Add the COPYING file to the release.

 release.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-03-06 14:38:50 +0000 Tony Finch <dot@dotat.at>

Fix HTML markup snafu.

 index.html.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-03-06 14:37:14 +0000 Tony Finch <dot@dotat.at>

Put the tests under the two-clause BSD copyright licence for consistency.

 tests/crlf-a.expout  | 2 +-
 tests/crlf-b.expout  | 2 +-
 tests/crlf-c.expout  | 2 +-
 tests/crlf-d.expout  | 2 +-
 tests/crlf.c         | 2 +-
 tests/if1-a.expout   | 3 ++-
 tests/if1-k.c        | 3 ++-
 tests/if1-k.expout   | 3 ++-
 tests/if1-kDU.c      | 3 ++-
 tests/if1-kDU.expout | 3 ++-
 tests/if1.c          | 3 ++-
 tests/if1.expout     | 3 ++-
 tests/if1a.expout    | 3 ++-
 tests/if2-a.expout   | 3 ++-
 tests/if2-k.c        | 3 ++-
 tests/if2-k.expout   | 3 ++-
 tests/if2-kDU.c      | 3 ++-
 tests/if2-kDU.expout | 3 ++-
 tests/if2.c          | 3 ++-
 tests/if2.expout     | 3 ++-
 tests/if3-a.expout   | 3 ++-
 tests/if3-k.c        | 3 ++-
 tests/if3-k.expout   | 3 ++-
 tests/if3-kDU.c      | 3 ++-
 tests/if3-kDU.expout | 3 ++-
 tests/if3.c          | 3 ++-
 tests/if3.expout     | 3 ++-
 tests/if4-a.expout   | 3 ++-
 tests/if4-k.c        | 3 ++-
 tests/if4-k.expout   | 3 ++-
 tests/if4-kDU.c      | 3 ++-
 tests/if4-kDU.expout | 3 ++-
 tests/if4.c          | 3 ++-
 tests/if4.expout     | 3 ++-
 tests/if5-a.expout   | 3 ++-
 tests/if5-k.c        | 3 ++-
 tests/if5-k.expout   | 3 ++-
 tests/if5-kDU.c      | 3 ++-
 tests/if5-kDU.expout | 3 ++-
 tests/if5.c          | 3 ++-
 tests/if5.expout     | 3 ++-
 tests/none.c         | 3 ++-
 tests/none.expout    | 3 ++-
 tests/small1.c       | 3 ++-
 tests/small1.expout  | 3 ++-
 tests/small2.c       | 3 ++-
 tests/small2.expout  | 3 ++-
 tests/spaces1.c      | 3 ++-
 tests/spaces1.expout | 3 ++-
 tests/spaces2.c      | 3 ++-
 tests/spaces2.expout | 3 ++-
 tests/spaces3.c      | 3 ++-
 tests/spaces3.expout | 3 ++-
 tests/spaces4.c      | 3 ++-
 tests/spaces4.expout | 3 ++-
 55 files changed, 105 insertions(+), 55 deletions(-)

---------------------------------------------------
2010-03-06 14:30:26 +0000 Tony Finch <dot@dotat.at>

Add a COPYING file to consolidate licence terms in one place.

Remove the public domain declaration from runtests.sh so it is under the
same licence as the other files.

Improve the wording about the licensing of contributions.

 COPYING       | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 README        |  8 +++---
 index.html.in |  9 ++++---
 runtests.sh   |  6 +----
 4 files changed, 93 insertions(+), 13 deletions(-)

---------------------------------------------------
2010-03-05 13:05:38 +0000 Tony Finch <dot@dotat.at>

Adjust man page document title for backwards compatibility.

Reported by: Bob Proulx <bob@proulx.com>

 unifdef.1 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-02-23 12:27:11 +0000 Tony Finch <dot@dotat.at>

Actually, don't drop the 1. from the version number.

Keeping it gives us more flexibility to change the numbering scheme
while ensuring it continues to go up.

 release.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-22 18:58:50 +0000 Tony Finch <dot@dotat.at>

Drop 1. from the version number

 release.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-22 18:58:30 +0000 Tony Finch <dot@dotat.at>

Improve output of -S mode (list symbols with depths) Symbols tested in the same 
#if are listed on the same line.

 unifdef.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-21 16:55:04 +0000 Tony Finch <dot@dotat.at>

We don't need to compile unifdef when preparing the release.

 release.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-21 16:53:20 +0000 Tony Finch <dot@dotat.at>

Fix the release build to ensure that junk files are not included.

We were failing to properly clean the tests directory.

Reported-by: Jonathan Nieder <jrnieder@gmail.com>

 Makefile   | 14 +++++++-------
 release.sh |  7 +++++--
 2 files changed, 12 insertions(+), 9 deletions(-)

---------------------------------------------------
2010-02-19 20:43:13 +0000 Tony Finch <dot@dotat.at>

Use -mdoc macro package when invoking nroff.

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-02-19 20:25:50 +0000 Tony Finch <dot@dotat.at>

Add a -S option for listing the nesting depth of symbols.

Suggested by http://stackoverflow.com/questions/2012496

 unifdef.1 | 23 +++++++++++++++--------
 unifdef.c | 19 ++++++++++++-------
 2 files changed, 27 insertions(+), 15 deletions(-)

---------------------------------------------------
2010-02-19 20:08:37 +0000 Tony Finch <dot@dotat.at>

A small tidy-up in process()

 unifdef.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-02-19 19:46:41 +0000 Tony Finch <dot@dotat.at>

Expand ACCESSPERMS rather than conditionally #defining it.

 unifdef.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2010-02-19 18:35:26 +0000 Tony Finch <dot@dotat.at>

Define ACCESSPERMS on systems (like Cygwin) that lack it.

Suggested by Mark Rushakoff.

 unifdef.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-02-19 17:30:50 +0000 Tony Finch <dot@dotat.at>

Link to freshmeat.net for release announcements.

 README        | 5 ++++-
 index.html.in | 9 ++++++---
 2 files changed, 10 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-19 17:15:44 +0000 Tony Finch <dot@dotat.at>

Improve portability to systems with native CRLF newlines.

 unifdef.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-19 17:11:39 +0000 Tony Finch <dot@dotat.at>

Remove FreeBSD from manual page rubric, and update its date.

 unifdef.1 | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2010-02-19 16:44:02 +0000 Tony Finch <dot@dotat.at>

List INSTALL file on homepage

 index.html.in | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-02-19 16:37:05 +0000 Tony Finch <dot@dotat.at>

Fix a long-standing cpp compatibility bug.

The -DFOO argument (without an explicit value) should define FOO to 1
not to the empty string.

 tests/crlf-a.sh |  2 +-
 tests/crlf-b.sh |  2 +-
 tests/crlf-c.sh |  2 +-
 tests/crlf-d.sh |  2 +-
 tests/if6a.sh   |  2 +-
 tests/if6b.sh   |  2 +-
 tests/if6c.sh   |  2 +-
 tests/if6d.sh   |  2 +-
 unifdef.1       | 14 ++++++++------
 unifdef.c       |  4 ++--
 10 files changed, 18 insertions(+), 16 deletions(-)

---------------------------------------------------
2010-02-19 16:31:08 +0000 Tony Finch <dot@dotat.at>

Add support for CRLF newlines.

As a side-effect, remove the dependency on strlcpy().

Based on a suggestion from Mark Rushakoff.

 INSTALL             |  5 ++---
 tests/crlf-a.experr |  0
 tests/crlf-a.expout | 10 ++++++++++
 tests/crlf-a.exprc  |  1 +
 tests/crlf-a.sh     |  1 +
 tests/crlf-b.experr |  0
 tests/crlf-b.expout | 14 ++++++++++++++
 tests/crlf-b.exprc  |  1 +
 tests/crlf-b.sh     |  1 +
 tests/crlf-c.experr |  0
 tests/crlf-c.expout | 16 ++++++++++++++++
 tests/crlf-c.exprc  |  1 +
 tests/crlf-c.sh     |  1 +
 tests/crlf-d.experr |  0
 tests/crlf-d.expout | 18 ++++++++++++++++++
 tests/crlf-d.exprc  |  1 +
 tests/crlf-d.sh     |  1 +
 tests/crlf.c        | 20 ++++++++++++++++++++
 unifdef.c           | 54 ++++++++++++++++++++++++++++++++++++-----------------
 19 files changed, 125 insertions(+), 20 deletions(-)

---------------------------------------------------
2010-02-19 16:29:59 +0000 Tony Finch <dot@dotat.at>

Fix tests to not rely on an uncommitted change.

 tests/if6a.sh | 2 +-
 tests/if6b.sh | 2 +-
 tests/if6c.sh | 2 +-
 tests/if6d.sh | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-02-19 16:03:44 +0000 Tony Finch <dot@dotat.at>

More tests of keyword edits

 tests/if6.c       | 11 +++++++++++
 tests/if6a.experr |  0
 tests/if6a.expout |  1 +
 tests/if6a.exprc  |  1 +
 tests/if6a.sh     |  1 +
 tests/if6b.experr |  0
 tests/if6b.expout |  5 +++++
 tests/if6b.exprc  |  1 +
 tests/if6b.sh     |  1 +
 tests/if6c.experr |  0
 tests/if6c.expout |  7 +++++++
 tests/if6c.exprc  |  1 +
 tests/if6c.sh     |  1 +
 tests/if6d.experr |  0
 tests/if6d.expout |  9 +++++++++
 tests/if6d.exprc  |  1 +
 tests/if6d.sh     |  1 +
 17 files changed, 41 insertions(+)

---------------------------------------------------
2010-02-19 15:50:26 +0000 Tony Finch <dot@dotat.at>

Test #elif -> #if edit

 tests/if1a.experr |  0
 tests/if1a.expout | 23 +++++++++++++++++++++++
 tests/if1a.exprc  |  1 +
 tests/if1a.sh     |  1 +
 4 files changed, 25 insertions(+)

---------------------------------------------------
2010-01-20 00:48:26 +0000 Tony Finch <dot@dotat.at>

unifdef.c: better diagnostics on write failure

 unifdef.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-01-19 20:33:00 +0000 Tony Finch <dot@dotat.at>

unifdef.c: fix portability to 64 bit platforms.

printf("%.*s",i,s) expects an int not a ptrdiff_t

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-01-19 18:22:53 +0000 Tony Finch <dot@dotat.at>

Fix English usage in wishlist comment

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-01-19 18:03:02 +0000 Tony Finch <dot@dotat.at>

unifdef.c: re-arrange the introductory comment, #include lines, and embedded 
copyright strings so that the FreeBSD version of the code is tidier.

 unifdef.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

---------------------------------------------------
2010-01-19 17:33:53 +0000 Tony Finch <dot@dotat.at>

Update manual date and copyright.

 unifdef.1 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-01-19 16:23:35 +0000 Tony Finch <dot@dotat.at>

Add -o outfile option, which can be used to specify an output file.  The file 
can even be the same as the input file.  Idea from IRIX unifdef(1). This 
version also fixes a bug in the NetBSD unifdef which refuses to write to a -o 
outfile which does not exist.

Obtained from: Brian Ginsbach <ginsbach@NetBSD.org> via NetBSD

 tests/outdir.experr    |   0
 tests/outdir.expout    |  14 +++++++
 tests/outdir.exprc     |   1 +
 tests/outdir.sh        |   4 ++
 tests/outfile.experr   |   0
 tests/outfile.expout   |  14 +++++++
 tests/outfile.exprc    |   1 +
 tests/outfile.sh       |   3 ++
 tests/overdir.experr   |   0
 tests/overdir.expout   |  14 +++++++
 tests/overdir.exprc    |   1 +
 tests/overdir.sh       |   5 +++
 tests/overwrite.experr |   0
 tests/overwrite.expout |  14 +++++++
 tests/overwrite.exprc  |   1 +
 tests/overwrite.sh     |   4 ++
 unifdef.1              |  17 +++++++-
 unifdef.c              | 106 +++++++++++++++++++++++++++++++++++++++++++------
 18 files changed, 185 insertions(+), 14 deletions(-)

---------------------------------------------------
2010-01-19 16:09:50 +0000 Tony Finch <dot@dotat.at>

unifdefall: tidy copyright notice to match unifdef.c

 unifdefall.sh | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

---------------------------------------------------
2010-01-19 13:37:00 +0000 Tony Finch <dot@dotat.at>

release.sh: Add INSTALL to list of tarball contents.

 release.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2010-01-19 13:36:22 +0000 Tony Finch <dot@dotat.at>

Add Jonathan Nieder to unifdefall's copyright declaration.

 unifdefall.sh | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2010-01-15 18:37:39 +0000 Tony Finch <dot@dotat.at>

Clean up the Makefile.

 Makefile | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

---------------------------------------------------
2010-01-15 18:33:05 +0000 Tony Finch <dot@dotat.at>

Automatic install support.

Add an install target to the Makefile. Using separate ${prefix} and
${DESTDIR} variables opens the door to hardcoding the path to unifdef
in unifdefall if we ever need to.

Move the installation instructions from the README to a new INSTALL
file to make it easier for packagers to omit irrelevant compilation
instructions from the binary package's documentation.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 INSTALL  | 18 ++++++++++++++++++
 Makefile | 20 +++++++++++++++++++-
 README   | 13 ++-----------
 3 files changed, 39 insertions(+), 12 deletions(-)

---------------------------------------------------
2010-01-15 17:43:17 +0000 Tony Finch <dot@dotat.at>

Makefile: do not remove Changelog on clean

Regenerating the Changelog requires access to the unifdef CVS
repository.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2010-01-15 17:41:21 +0000 Tony Finch <dot@dotat.at>

unifdefall: look for unifdef in $(dirname $0)

For debugging and for the test suite it is convenient is
unifdefall can be run in place without relying on unifdef being
installed elsewhere.  So change unifdefall to look for unifdef in
the containing directory.

For compatibility, if unifdef is not present in the directory
containing unifdefall, fall back to searching the $PATH for it.
Some one might have installed unifdef and unifdefall to
different directories.

With this change, 'make test' no longer fails in if1-a.sh when
unifdef is not present on the $PATH.  Also, the test suite will
be a little better at catching new regressions if an old version
of unifdef is installed, since the unifdefall tests will no
longer be testing the installed unifdef.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-12-02 15:21:22 +0000 Tony Finch <dot@dotat.at>

Fix ident string -- gcc optimised it away.

 unifdef.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

---------------------------------------------------
2009-11-27 17:30:39 +0000 Tony Finch <dot@dotat.at>

Include full CVS log in the Changelog.

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 17:24:25 +0000 Tony Finch <dot@dotat.at>

release.sh: remove tests/CVS from tarball, and upload files faster.

 release.sh | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 17:21:26 +0000 Tony Finch <dot@dotat.at>

fix invalid array access when nesting limit exceeded

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>

 unifdef.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 17:14:32 +0000 Tony Finch <dot@dotat.at>

runtests.sh: portability: . does not search current directory

POSIX.1-2008 dot searches only the $PATH and not the current
directory for pathnames with no / in them.  Accordingly, since
version 4.0-alpha, bash does not search the current directory
when in posix (sh) mode.  The fix is to specify ./ explicitly.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 runtests.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 15:40:10 +0000 Tony Finch <dot@dotat.at>

Include a link to the web page in a comment in unifdef.c

This is mainly for the benefit of the Linux kernel's stand-alone version.

 unifdef.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 14:35:51 +0000 Tony Finch <dot@dotat.at>

Consistent ordering of ${got} and ${exp} in the test script

 runtests.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 14:34:09 +0000 Tony Finch <dot@dotat.at>

Include the tests in the web page

 index.html.in | 4 +++-
 release.sh    | 4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 14:32:49 +0000 Tony Finch <dot@dotat.at>

Improve phrasing on web page

 index.html.in | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 14:30:02 +0000 Tony Finch <dot@dotat.at>

Run the tests in the correct directory

 Makefile    | 4 ++--
 runtests.sh | 3 ++-
 2 files changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-27 14:21:36 +0000 Tony Finch <dot@dotat.at>

Add some unifdefall test cases.

 tests/if1-a.experr | 0
 tests/if1-a.exprc  | 1 +
 tests/if1-a.sh     | 1 +
 tests/if2-a.experr | 0
 tests/if2-a.exprc  | 1 +
 tests/if2-a.sh     | 1 +
 tests/if3-a.experr | 0
 tests/if3-a.exprc  | 1 +
 tests/if3-a.sh     | 1 +
 tests/if4-a.experr | 0
 tests/if4-a.exprc  | 1 +
 tests/if4-a.sh     | 1 +
 tests/if5-a.experr | 0
 tests/if5-a.exprc  | 1 +
 tests/if5-a.sh     | 1 +
 15 files changed, 10 insertions(+)

---------------------------------------------------
2009-11-27 14:20:59 +0000 Tony Finch <dot@dotat.at>

Ensure we clean up after a successful test.

 runtests.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2009-11-27 14:08:08 +0000 Tony Finch <dot@dotat.at>

Simplify the test suite so that runtests.sh is not specific to unifdef.

 Makefile           |  5 ++---
 runtests.sh        | 65 +++++++++++++++++++-----------------------------------
 tests/args1.sh     |  1 +
 tests/args2.sh     |  1 +
 tests/blank0d.args |  1 -
 tests/blank0d.sh   |  1 +
 tests/blank0u.args |  1 -
 tests/blank0u.sh   |  1 +
 tests/blank1d.args |  1 -
 tests/blank1d.sh   |  1 +
 tests/blank1u.args |  1 -
 tests/blank1u.sh   |  1 +
 tests/blank2d.args |  1 -
 tests/blank2d.sh   |  1 +
 tests/blank2u.args |  1 -
 tests/blank2u.sh   |  1 +
 tests/blank3d.args |  1 -
 tests/blank3d.sh   |  1 +
 tests/blank3u.args |  1 -
 tests/blank3u.sh   |  1 +
 tests/blank4d.args |  1 -
 tests/blank4d.sh   |  1 +
 tests/blank4u.args |  1 -
 tests/blank4u.sh   |  1 +
 tests/empty.sh     |  1 +
 tests/if1-k.args   |  1 -
 tests/if1-k.sh     |  1 +
 tests/if1-kDU.args |  1 -
 tests/if1-kDU.sh   |  1 +
 tests/if1.sh       |  1 +
 tests/if2-k.args   |  1 -
 tests/if2-k.sh     |  1 +
 tests/if2-kDU.args |  1 -
 tests/if2-kDU.sh   |  1 +
 tests/if2.sh       |  1 +
 tests/if3-k.args   |  1 -
 tests/if3-k.sh     |  1 +
 tests/if3-kDU.args |  1 -
 tests/if3-kDU.sh   |  1 +
 tests/if3.sh       |  1 +
 tests/if4-k.args   |  1 -
 tests/if4-k.sh     |  1 +
 tests/if4-kDU.args |  1 -
 tests/if4-kDU.sh   |  1 +
 tests/if4.sh       |  1 +
 tests/if5-k.args   |  1 -
 tests/if5-k.sh     |  1 +
 tests/if5-kDU.args |  1 -
 tests/if5-kDU.sh   |  1 +
 tests/if5.sh       |  1 +
 tests/none.sh      |  1 +
 tests/small1.sh    |  1 +
 tests/small2.sh    |  1 +
 tests/spaces1.sh   |  1 +
 tests/spaces2.sh   |  1 +
 tests/spaces3.sh   |  1 +
 tests/spaces4.sh   |  1 +
 57 files changed, 60 insertions(+), 65 deletions(-)

---------------------------------------------------
2009-11-27 13:36:39 +0000 Tony Finch <dot@dotat.at>

Test suite tweaks.

Move the runtests script into the main source directory.
Remove the redundant .c. from the expected output filenames.
Run the tests in a separate working directory.
Include the tests in the release.

 Makefile               |  8 +++++---
 release.sh             |  7 ++++---
 runtests.sh            | 17 ++++++++--------
 tests/args1.c.experr   |  0
 tests/args1.c.expout   |  1 -
 tests/args1.c.exprc    |  1 -
 tests/args2.c.experr   |  0
 tests/args2.c.expout   |  3 ---
 tests/args2.c.exprc    |  1 -
 tests/blank0d.c.experr |  0
 tests/blank0d.c.expout | 23 ---------------------
 tests/blank0d.c.exprc  |  1 -
 tests/blank0u.c.experr |  0
 tests/blank0u.c.expout | 22 --------------------
 tests/blank0u.c.exprc  |  1 -
 tests/blank1d.c.experr |  0
 tests/blank1d.c.expout | 23 ---------------------
 tests/blank1d.c.exprc  |  1 -
 tests/blank1u.c.experr |  0
 tests/blank1u.c.expout | 21 -------------------
 tests/blank1u.c.exprc  |  1 -
 tests/blank2d.c.experr |  0
 tests/blank2d.c.expout | 23 ---------------------
 tests/blank2d.c.exprc  |  1 -
 tests/blank2u.c.experr |  0
 tests/blank2u.c.expout | 20 ------------------
 tests/blank2u.c.exprc  |  1 -
 tests/blank3d.c.experr |  0
 tests/blank3d.c.expout | 23 ---------------------
 tests/blank3d.c.exprc  |  1 -
 tests/blank3u.c.experr |  0
 tests/blank3u.c.expout | 19 -----------------
 tests/blank3u.c.exprc  |  1 -
 tests/blank4d.c.experr |  0
 tests/blank4d.c.expout | 23 ---------------------
 tests/blank4d.c.exprc  |  1 -
 tests/blank4u.c.experr |  0
 tests/blank4u.c.expout | 18 -----------------
 tests/blank4u.c.exprc  |  1 -
 tests/empty.c.experr   |  0
 tests/empty.c.expout   |  0
 tests/empty.c.exprc    |  1 -
 tests/if1-a.c.expout   | 15 --------------
 tests/if1-k.c.experr   |  0
 tests/if1-k.c.expout   | 29 --------------------------
 tests/if1-k.c.exprc    |  1 -
 tests/if1-kDU.c.experr |  0
 tests/if1-kDU.c.expout | 19 -----------------
 tests/if1-kDU.c.exprc  |  1 -
 tests/if1.c.experr     |  0
 tests/if1.c.expout     | 15 --------------
 tests/if1.c.exprc      |  1 -
 tests/if2-a.c.expout   | 12 -----------
 tests/if2-k.c.experr   |  0
 tests/if2-k.c.expout   | 20 ------------------
 tests/if2-k.c.exprc    |  1 -
 tests/if2-kDU.c.experr |  0
 tests/if2-kDU.c.expout | 16 ---------------
 tests/if2-kDU.c.exprc  |  1 -
 tests/if2.c.experr     |  0
 tests/if2.c.expout     | 12 -----------
 tests/if2.c.exprc      |  1 -
 tests/if3-a.c.expout   | 12 -----------
 tests/if3-k.c.experr   |  0
 tests/if3-k.c.expout   | 20 ------------------
 tests/if3-k.c.exprc    |  1 -
 tests/if3-kDU.c.experr |  0
 tests/if3-kDU.c.expout | 16 ---------------
 tests/if3-kDU.c.exprc  |  1 -
 tests/if3.c.experr     |  0
 tests/if3.c.expout     | 12 -----------
 tests/if3.c.exprc      |  1 -
 tests/if4-a.c.expout   | 21 -------------------
 tests/if4-k.c.experr   |  0
 tests/if4-k.c.expout   | 41 -------------------------------------
 tests/if4-k.c.exprc    |  1 -
 tests/if4-kDU.c.experr |  0
 tests/if4-kDU.c.expout | 25 -----------------------
 tests/if4-kDU.c.exprc  |  1 -
 tests/if4.c.experr     |  0
 tests/if4.c.expout     | 21 -------------------
 tests/if4.c.exprc      |  1 -
 tests/if5-a.c.expout   | 27 -------------------------
 tests/if5-k.c.experr   |  0
 tests/if5-k.c.expout   | 55 --------------------------------------------------
 tests/if5-k.c.exprc    |  1 -
 tests/if5-kDU.c.experr |  0
 tests/if5-kDU.c.expout | 31 ----------------------------
 tests/if5-kDU.c.exprc  |  1 -
 tests/if5.c.experr     |  0
 tests/if5.c.expout     | 27 -------------------------
 tests/if5.c.exprc      |  1 -
 tests/none.c.experr    |  0
 tests/none.c.expout    |  4 ----
 tests/none.c.exprc     |  1 -
 tests/runtests         | 51 ----------------------------------------------
 tests/small1.c.experr  |  0
 tests/small1.c.expout  | 12 -----------
 tests/small1.c.exprc   |  1 -
 tests/small2.c.experr  |  0
 tests/small2.c.expout  | 12 -----------
 tests/small2.c.exprc   |  1 -
 tests/spaces1.c.experr |  0
 tests/spaces1.c.expout | 12 -----------
 tests/spaces1.c.exprc  |  1 -
 tests/spaces2.c.experr |  0
 tests/spaces2.c.expout | 12 -----------
 tests/spaces2.c.exprc  |  1 -
 tests/spaces3.c.experr |  0
 tests/spaces3.c.expout | 12 -----------
 tests/spaces3.c.exprc  |  1 -
 tests/spaces4.c.experr |  0
 tests/spaces4.c.expout | 12 -----------
 tests/spaces4.c.exprc  |  1 -
 114 files changed, 18 insertions(+), 841 deletions(-)

---------------------------------------------------
2009-11-27 13:08:58 +0000 Tony Finch <dot@dotat.at>

Additional tests from Bob Proulx <bob@proulx.com> Add his copyright notice to 
all the old tests.

 runtests.sh            |  6 ++++-
 tests/if1-a.c.expout   | 15 ++++++++++++
 tests/if1-a.expout     | 15 ++++++++++++
 tests/if1-k.args       |  1 +
 tests/if1-k.c          | 37 +++++++++++++++++++++++++++++
 tests/if1-k.c.experr   |  0
 tests/if1-k.c.expout   | 29 +++++++++++++++++++++++
 tests/if1-k.c.exprc    |  1 +
 tests/if1-k.experr     |  0
 tests/if1-k.expout     | 29 +++++++++++++++++++++++
 tests/if1-k.exprc      |  1 +
 tests/if1-kDU.args     |  1 +
 tests/if1-kDU.c        | 37 +++++++++++++++++++++++++++++
 tests/if1-kDU.c.experr |  0
 tests/if1-kDU.c.expout | 19 +++++++++++++++
 tests/if1-kDU.c.exprc  |  1 +
 tests/if1-kDU.experr   |  0
 tests/if1-kDU.expout   | 19 +++++++++++++++
 tests/if1-kDU.exprc    |  1 +
 tests/if1.c            |  3 +++
 tests/if1.c.expout     |  3 +++
 tests/if1.expout       |  3 +++
 tests/if2-a.c.expout   | 12 ++++++++++
 tests/if2-a.expout     | 12 ++++++++++
 tests/if2-k.args       |  1 +
 tests/if2-k.c          | 28 ++++++++++++++++++++++
 tests/if2-k.c.experr   |  0
 tests/if2-k.c.expout   | 20 ++++++++++++++++
 tests/if2-k.c.exprc    |  1 +
 tests/if2-k.experr     |  0
 tests/if2-k.expout     | 20 ++++++++++++++++
 tests/if2-k.exprc      |  1 +
 tests/if2-kDU.args     |  1 +
 tests/if2-kDU.c        | 28 ++++++++++++++++++++++
 tests/if2-kDU.c.experr |  0
 tests/if2-kDU.c.expout | 16 +++++++++++++
 tests/if2-kDU.c.exprc  |  1 +
 tests/if2-kDU.experr   |  0
 tests/if2-kDU.expout   | 16 +++++++++++++
 tests/if2-kDU.exprc    |  1 +
 tests/if2.c            |  3 +++
 tests/if2.c.expout     |  3 +++
 tests/if2.expout       |  3 +++
 tests/if3-a.c.expout   | 12 ++++++++++
 tests/if3-a.expout     | 12 ++++++++++
 tests/if3-k.args       |  1 +
 tests/if3-k.c          | 28 ++++++++++++++++++++++
 tests/if3-k.c.experr   |  0
 tests/if3-k.c.expout   | 20 ++++++++++++++++
 tests/if3-k.c.exprc    |  1 +
 tests/if3-k.experr     |  0
 tests/if3-k.expout     | 20 ++++++++++++++++
 tests/if3-k.exprc      |  1 +
 tests/if3-kDU.args     |  1 +
 tests/if3-kDU.c        | 28 ++++++++++++++++++++++
 tests/if3-kDU.c.experr |  0
 tests/if3-kDU.c.expout | 16 +++++++++++++
 tests/if3-kDU.c.exprc  |  1 +
 tests/if3-kDU.experr   |  0
 tests/if3-kDU.expout   | 16 +++++++++++++
 tests/if3-kDU.exprc    |  1 +
 tests/if3.c            |  3 +++
 tests/if3.c.expout     |  3 +++
 tests/if3.expout       |  3 +++
 tests/if4-a.c.expout   | 21 +++++++++++++++++
 tests/if4-a.expout     | 21 +++++++++++++++++
 tests/if4-k.args       |  1 +
 tests/if4-k.c          | 49 +++++++++++++++++++++++++++++++++++++++
 tests/if4-k.c.experr   |  0
 tests/if4-k.c.expout   | 41 ++++++++++++++++++++++++++++++++
 tests/if4-k.c.exprc    |  1 +
 tests/if4-k.experr     |  0
 tests/if4-k.expout     | 41 ++++++++++++++++++++++++++++++++
 tests/if4-k.exprc      |  1 +
 tests/if4-kDU.args     |  1 +
 tests/if4-kDU.c        | 49 +++++++++++++++++++++++++++++++++++++++
 tests/if4-kDU.c.experr |  0
 tests/if4-kDU.c.expout | 25 ++++++++++++++++++++
 tests/if4-kDU.c.exprc  |  1 +
 tests/if4-kDU.experr   |  0
 tests/if4-kDU.expout   | 25 ++++++++++++++++++++
 tests/if4-kDU.exprc    |  1 +
 tests/if4.c            |  3 +++
 tests/if4.c.expout     |  3 +++
 tests/if4.expout       |  3 +++
 tests/if5-a.c.expout   | 27 ++++++++++++++++++++++
 tests/if5-a.expout     | 27 ++++++++++++++++++++++
 tests/if5-k.args       |  1 +
 tests/if5-k.c          | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/if5-k.c.experr   |  0
 tests/if5-k.c.expout   | 55 +++++++++++++++++++++++++++++++++++++++++++
 tests/if5-k.c.exprc    |  1 +
 tests/if5-k.experr     |  0
 tests/if5-k.expout     | 55 +++++++++++++++++++++++++++++++++++++++++++
 tests/if5-k.exprc      |  1 +
 tests/if5-kDU.args     |  1 +
 tests/if5-kDU.c        | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/if5-kDU.c.experr |  0
 tests/if5-kDU.c.expout | 31 +++++++++++++++++++++++++
 tests/if5-kDU.c.exprc  |  1 +
 tests/if5-kDU.experr   |  0
 tests/if5-kDU.expout   | 31 +++++++++++++++++++++++++
 tests/if5-kDU.exprc    |  1 +
 tests/if5.c            |  3 +++
 tests/if5.c.expout     |  3 +++
 tests/if5.expout       |  3 +++
 tests/none.c           |  3 +++
 tests/none.c.expout    |  3 +++
 tests/none.expout      |  3 +++
 tests/runtests         |  6 ++++-
 tests/small1.c         |  3 +++
 tests/small1.c.expout  |  3 +++
 tests/small1.expout    |  3 +++
 tests/small2.c         |  3 +++
 tests/small2.c.expout  |  3 +++
 tests/small2.expout    |  3 +++
 tests/spaces1.c        |  3 +++
 tests/spaces1.c.expout |  3 +++
 tests/spaces1.expout   |  3 +++
 tests/spaces2.c        |  3 +++
 tests/spaces2.c.expout |  3 +++
 tests/spaces2.expout   |  3 +++
 tests/spaces3.c        |  3 +++
 tests/spaces3.c.expout |  3 +++
 tests/spaces3.expout   |  3 +++
 tests/spaces4.c        |  3 +++
 tests/spaces4.c.expout |  3 +++
 tests/spaces4.expout   |  3 +++
 128 files changed, 1276 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-27 12:48:13 +0000 Tony Finch <dot@dotat.at>

List significant contributions in the README

 README | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

---------------------------------------------------
2009-11-27 12:36:54 +0000 Tony Finch <dot@dotat.at>

Improve the blurb on the web page, based on the Debian package's description by 
Jonathan Nieder <jrnieder@gmail.com>.

 index.html.in | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-26 14:12:30 +0000 Tony Finch <dot@dotat.at>

Fix web page markup

 index.html.in | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

---------------------------------------------------
2009-11-26 14:01:26 +0000 Tony Finch <dot@dotat.at>

Makefile: clean index.html generated by release.sh

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 13:56:22 +0000 Tony Finch <dot@dotat.at>

Do not edit index.html in place

 index.html.in | 4 ++--
 release.sh    | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-26 13:54:10 +0000 Tony Finch <dot@dotat.at>

Try again to prevent CVS keyword expansion  in the wrong part of release.sh

 release.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 13:52:09 +0000 Tony Finch <dot@dotat.at>

Do not expand CVS keywords in the wrong part of release.sh

 release.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 13:50:10 +0000 Tony Finch <dot@dotat.at>

Improved release process.

Calculate the version number from the sum of the CVS idents.
Adjust the version number in the web page.

 release.sh | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2009-11-26 13:48:45 +0000 Tony Finch <dot@dotat.at>

Add a web page. Use the same title in the README and index.html.

 README        |  4 ++--
 index.html.in | 46 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-26 12:54:39 +0000 Tony Finch <dot@dotat.at>

unifdefall: optimise the loop that builds the unifdef command.

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.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

---------------------------------------------------
2009-11-26 02:22:24 +0000 Tony Finch <dot@dotat.at>

unifdefall: Use {} instead of () for redirecting a group of commands.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-26 02:14:47 +0000 Tony Finch <dot@dotat.at>

unifdefall: remove debugging remnants.

 unifdefall.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-25 19:54:34 +0000 Tony Finch <dot@dotat.at>

unifdefall: update copyright dates.

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 19:33:51 +0000 Tony Finch <dot@dotat.at>

Makefile: really clean more.

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 19:32:40 +0000 Tony Finch <dot@dotat.at>

unifdefall: portability: do not try to use EREs with sed

BSD sed uses -E and GNU sed uses -r to specify that extended
regular expressions should be used instead of BREs.

Some of the sed scripts have been simplified by relying on 'cpp -dM'
to produce lines of the form '#define MACRO value', with a single
space as delimiting whitespace.

While we're modifying the sed scripts, also change the shell
quoting script to correctly capture more characters when they
appear in the right-hand sides of macro definitions (e.g., $).

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

---------------------------------------------------
2009-11-25 19:24:59 +0000 Tony Finch <dot@dotat.at>

unifdefall: fix mktemp invocation

Actually remove the -t that should have gone in rev. 1.14

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 19:23:12 +0000 Tony Finch <dot@dotat.at>

unifdefall: simplify redirections to the temporary script

 unifdefall.sh | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

---------------------------------------------------
2009-11-25 18:05:11 +0000 Tony Finch <dot@dotat.at>

unifdefall: force the "C" locale to avoid braindamage

Reported-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2009-11-25 18:02:41 +0000 Tony Finch <dot@dotat.at>

unifdefall: clean up temporary files on failure

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-25 18:00:54 +0000 Tony Finch <dot@dotat.at>

unifdefall: allow spaces in $TMPDIR

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

---------------------------------------------------
2009-11-25 17:56:10 +0000 Tony Finch <dot@dotat.at>

unifdefall: portability: avoid mktemp -t

GNU mktemp interprets the argument after -t as the entire template
and errors out if it contains no XXXX substring. BSD systems, on
the other hand, treat the argument as a prefix for the mktemp
template and use it verbatim, resulting in long, ugly filenames
like foo.XXXXX.e30GuhHVzU if the string contains embedded Xs.

So avoid -t and use TMPDIR explicitly.

Submitted-by: Jonathan Nieder <jrnieder@gmail.com>

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-25 17:54:13 +0000 Tony Finch <dot@dotat.at>

Use $() instead of `` in unifdefall.

 unifdefall.sh | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-25 00:11:02 +0000 Tony Finch <dot@dotat.at>

Improve the behaviour of the -B option.

Submitted-by: Anders H Kaseorg <andersk@mit.edu>

 tests/blank1d.c.expout |  1 +
 tests/blank1d.expout   |  1 +
 tests/blank2d.c.expout |  2 ++
 tests/blank2d.expout   |  2 ++
 tests/blank3d.c.expout |  3 +++
 tests/blank3d.expout   |  3 +++
 tests/blank4d.c.expout |  4 ++++
 tests/blank4d.expout   |  4 ++++
 unifdef.1              |  4 ++--
 unifdef.c              | 17 +++++++++++------
 10 files changed, 33 insertions(+), 8 deletions(-)

---------------------------------------------------
2009-11-25 00:03:44 +0000 Tony Finch <dot@dotat.at>

Add some test cases for blank line squashing.

 tests/blank0d.args     |  1 +
 tests/blank0d.c        | 25 +++++++++++++++++++++++++
 tests/blank0d.c.experr |  0
 tests/blank0d.c.expout | 23 +++++++++++++++++++++++
 tests/blank0d.c.exprc  |  1 +
 tests/blank0d.experr   |  0
 tests/blank0d.expout   | 23 +++++++++++++++++++++++
 tests/blank0d.exprc    |  1 +
 tests/blank0u.args     |  1 +
 tests/blank0u.c        | 25 +++++++++++++++++++++++++
 tests/blank0u.c.experr |  0
 tests/blank0u.c.expout | 22 ++++++++++++++++++++++
 tests/blank0u.c.exprc  |  1 +
 tests/blank0u.experr   |  0
 tests/blank0u.expout   | 22 ++++++++++++++++++++++
 tests/blank0u.exprc    |  1 +
 tests/blank1d.args     |  1 +
 tests/blank1d.c        | 25 +++++++++++++++++++++++++
 tests/blank1d.c.experr |  0
 tests/blank1d.c.expout | 22 ++++++++++++++++++++++
 tests/blank1d.c.exprc  |  1 +
 tests/blank1d.experr   |  0
 tests/blank1d.expout   | 22 ++++++++++++++++++++++
 tests/blank1d.exprc    |  1 +
 tests/blank1u.args     |  1 +
 tests/blank1u.c        | 25 +++++++++++++++++++++++++
 tests/blank1u.c.experr |  0
 tests/blank1u.c.expout | 21 +++++++++++++++++++++
 tests/blank1u.c.exprc  |  1 +
 tests/blank1u.experr   |  0
 tests/blank1u.expout   | 21 +++++++++++++++++++++
 tests/blank1u.exprc    |  1 +
 tests/blank2d.args     |  1 +
 tests/blank2d.c        | 25 +++++++++++++++++++++++++
 tests/blank2d.c.experr |  0
 tests/blank2d.c.expout | 21 +++++++++++++++++++++
 tests/blank2d.c.exprc  |  1 +
 tests/blank2d.experr   |  0
 tests/blank2d.expout   | 21 +++++++++++++++++++++
 tests/blank2d.exprc    |  1 +
 tests/blank2u.args     |  1 +
 tests/blank2u.c        | 25 +++++++++++++++++++++++++
 tests/blank2u.c.experr |  0
 tests/blank2u.c.expout | 20 ++++++++++++++++++++
 tests/blank2u.c.exprc  |  1 +
 tests/blank2u.experr   |  0
 tests/blank2u.expout   | 20 ++++++++++++++++++++
 tests/blank2u.exprc    |  1 +
 tests/blank3d.args     |  1 +
 tests/blank3d.c        | 25 +++++++++++++++++++++++++
 tests/blank3d.c.experr |  0
 tests/blank3d.c.expout | 20 ++++++++++++++++++++
 tests/blank3d.c.exprc  |  1 +
 tests/blank3d.experr   |  0
 tests/blank3d.expout   | 20 ++++++++++++++++++++
 tests/blank3d.exprc    |  1 +
 tests/blank3u.args     |  1 +
 tests/blank3u.c        | 25 +++++++++++++++++++++++++
 tests/blank3u.c.experr |  0
 tests/blank3u.c.expout | 19 +++++++++++++++++++
 tests/blank3u.c.exprc  |  1 +
 tests/blank3u.experr   |  0
 tests/blank3u.expout   | 19 +++++++++++++++++++
 tests/blank3u.exprc    |  1 +
 tests/blank4d.args     |  1 +
 tests/blank4d.c        | 25 +++++++++++++++++++++++++
 tests/blank4d.c.experr |  0
 tests/blank4d.c.expout | 19 +++++++++++++++++++
 tests/blank4d.c.exprc  |  1 +
 tests/blank4d.experr   |  0
 tests/blank4d.expout   | 19 +++++++++++++++++++
 tests/blank4d.exprc    |  1 +
 tests/blank4u.args     |  1 +
 tests/blank4u.c        | 25 +++++++++++++++++++++++++
 tests/blank4u.c.experr |  0
 tests/blank4u.c.expout | 18 ++++++++++++++++++
 tests/blank4u.c.exprc  |  1 +
 tests/blank4u.experr   |  0
 tests/blank4u.expout   | 18 ++++++++++++++++++
 tests/blank4u.exprc    |  1 +
 80 files changed, 690 insertions(+)

---------------------------------------------------
2009-11-24 23:46:36 +0000 Tony Finch <dot@dotat.at>

Further test script clean-ups.

 runtests.sh    | 27 ++++++++++++---------------
 tests/runtests | 27 ++++++++++++---------------
 2 files changed, 24 insertions(+), 30 deletions(-)

---------------------------------------------------
2009-11-24 22:40:01 +0000 Tony Finch <dot@dotat.at>

Add a couple of tests for macro argument handling

 tests/args1.c        | 3 +++
 tests/args1.c.experr | 0
 tests/args1.c.expout | 1 +
 tests/args1.c.exprc  | 1 +
 tests/args1.experr   | 0
 tests/args1.expout   | 1 +
 tests/args1.exprc    | 1 +
 tests/args2.c        | 3 +++
 tests/args2.c.experr | 0
 tests/args2.c.expout | 3 +++
 tests/args2.c.exprc  | 1 +
 tests/args2.experr   | 0
 tests/args2.expout   | 3 +++
 tests/args2.exprc    | 1 +
 14 files changed, 18 insertions(+)

---------------------------------------------------
2009-11-24 22:39:36 +0000 Tony Finch <dot@dotat.at>

Automatically run newly-added tests.

 runtests.sh    | 7 +++----
 tests/runtests | 7 +++----
 2 files changed, 6 insertions(+), 8 deletions(-)

---------------------------------------------------
2009-11-24 22:32:35 +0000 Tony Finch <dot@dotat.at>

Fix detection of missing test output files.

 runtests.sh    | 3 +--
 tests/runtests | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-24 22:25:55 +0000 Tony Finch <dot@dotat.at>

Move tests/Makefile into the main Makefile.

 Makefile       | 6 +++++-
 tests/Makefile | 5 -----
 2 files changed, 5 insertions(+), 6 deletions(-)

---------------------------------------------------
2009-11-24 22:20:26 +0000 Tony Finch <dot@dotat.at>

Support non-standard test command arguments.

 runtests.sh    | 7 ++++++-
 tests/runtests | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 22:13:15 +0000 Tony Finch <dot@dotat.at>

Remove redundancy from the test scripts.

 runtests.sh           | 47 ++++++++++++++++++++++++++++++++++++++++
 tests/Makefile        | 11 ++--------
 tests/empty.c.exprc   |  1 +
 tests/empty.exprc     |  1 +
 tests/if1.c.exprc     |  1 +
 tests/if1.exprc       |  1 +
 tests/if2.c.exprc     |  1 +
 tests/if2.exprc       |  1 +
 tests/if3.c.exprc     |  1 +
 tests/if3.exprc       |  1 +
 tests/if4.c.exprc     |  1 +
 tests/if4.exprc       |  1 +
 tests/if5.c.exprc     |  1 +
 tests/if5.exprc       |  1 +
 tests/none.c.exprc    |  1 +
 tests/none.exprc      |  1 +
 tests/runtests        | 47 ++++++++++++++++++++++++++++++++++++++++
 tests/simple1         | 58 -------------------------------------------------
 tests/simple2         | 60 ---------------------------------------------------
 tests/small1.c.exprc  |  1 +
 tests/small1.exprc    |  1 +
 tests/small2.c.exprc  |  1 +
 tests/small2.exprc    |  1 +
 tests/spaces1.c.exprc |  1 +
 tests/spaces1.exprc   |  1 +
 tests/spaces2.c.exprc |  1 +
 tests/spaces2.exprc   |  1 +
 tests/spaces3.c.exprc |  1 +
 tests/spaces3.exprc   |  1 +
 tests/spaces4.c.exprc |  1 +
 tests/spaces4.exprc   |  1 +
 31 files changed, 122 insertions(+), 127 deletions(-)

---------------------------------------------------
2009-11-24 21:32:53 +0000 Tony Finch <dot@dotat.at>

Make the simple3 test script redundant.

 tests/Makefile |  2 +-
 tests/simple2  |  6 ++++--
 tests/simple3  | 58 ----------------------------------------------------------
 3 files changed, 5 insertions(+), 61 deletions(-)

---------------------------------------------------
2009-11-24 21:27:29 +0000 Tony Finch <dot@dotat.at>

Reduce repetition of the test command in the scripts.

 tests/simple1 | 14 ++++++++------
 tests/simple2 | 14 ++++++++------
 tests/simple3 | 14 ++++++++------
 3 files changed, 24 insertions(+), 18 deletions(-)

---------------------------------------------------
2009-11-24 21:23:30 +0000 Tony Finch <dot@dotat.at>

Fix relative path from tests to unifdef executable.

 tests/simple1 | 2 +-
 tests/simple2 | 2 +-
 tests/simple3 | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-24 21:21:47 +0000 Tony Finch <dot@dotat.at>

Import Bob Proulx's test suite from the Debian package.

 tests/Makefile         | 12 +++++++++++
 tests/empty.c          |  0
 tests/empty.c.experr   |  0
 tests/empty.c.expout   |  0
 tests/empty.experr     |  0
 tests/empty.expout     |  0
 tests/if1.c            | 22 ++++++++++++++++++++
 tests/if1.c.experr     |  0
 tests/if1.c.expout     | 12 +++++++++++
 tests/if1.experr       |  0
 tests/if1.expout       | 12 +++++++++++
 tests/if2.c            | 13 ++++++++++++
 tests/if2.c.experr     |  0
 tests/if2.c.expout     |  9 ++++++++
 tests/if2.experr       |  0
 tests/if2.expout       |  9 ++++++++
 tests/if3.c            | 13 ++++++++++++
 tests/if3.c.experr     |  0
 tests/if3.c.expout     |  9 ++++++++
 tests/if3.experr       |  0
 tests/if3.expout       |  9 ++++++++
 tests/if4.c            | 34 ++++++++++++++++++++++++++++++
 tests/if4.c.experr     |  0
 tests/if4.c.expout     | 18 ++++++++++++++++
 tests/if4.experr       |  0
 tests/if4.expout       | 18 ++++++++++++++++
 tests/if5.c            | 48 +++++++++++++++++++++++++++++++++++++++++++
 tests/if5.c.experr     |  0
 tests/if5.c.expout     | 24 ++++++++++++++++++++++
 tests/if5.experr       |  0
 tests/if5.expout       | 24 ++++++++++++++++++++++
 tests/none.c           |  1 +
 tests/none.c.experr    |  0
 tests/none.c.expout    |  1 +
 tests/none.experr      |  0
 tests/none.expout      |  1 +
 tests/simple1          | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/simple2          | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/simple3          | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/small1.c         | 13 ++++++++++++
 tests/small1.c.experr  |  0
 tests/small1.c.expout  |  9 ++++++++
 tests/small1.experr    |  0
 tests/small1.expout    |  9 ++++++++
 tests/small2.c         | 13 ++++++++++++
 tests/small2.c.experr  |  0
 tests/small2.c.expout  |  9 ++++++++
 tests/small2.experr    |  0
 tests/small2.expout    |  9 ++++++++
 tests/spaces1.c        | 13 ++++++++++++
 tests/spaces1.c.experr |  0
 tests/spaces1.c.expout |  9 ++++++++
 tests/spaces1.experr   |  0
 tests/spaces1.expout   |  9 ++++++++
 tests/spaces2.c        | 13 ++++++++++++
 tests/spaces2.c.experr |  0
 tests/spaces2.c.expout |  9 ++++++++
 tests/spaces2.experr   |  0
 tests/spaces2.expout   |  9 ++++++++
 tests/spaces3.c        | 13 ++++++++++++
 tests/spaces3.c.experr |  0
 tests/spaces3.c.expout |  9 ++++++++
 tests/spaces3.experr   |  0
 tests/spaces3.expout   |  9 ++++++++
 tests/spaces4.c        | 13 ++++++++++++
 tests/spaces4.c.experr |  0
 tests/spaces4.c.expout |  9 ++++++++
 tests/spaces4.experr   |  0
 tests/spaces4.expout   |  9 ++++++++
 69 files changed, 643 insertions(+)

---------------------------------------------------
2009-11-24 17:50:35 +0000 Tony Finch <dot@dotat.at>

Less stilted English in the man page.

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 17:49:13 +0000 Tony Finch <dot@dotat.at>

Handle macros with arguments.

Submitted-by: Anders H Kaseorg <andersk@mit.edu>

 unifdef.1 | 13 ++++++++++++-
 unifdef.c | 32 ++++++++++++++++++++++++++++++--
 2 files changed, 42 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-24 16:51:38 +0000 Tony Finch <dot@dotat.at>

Use isalnum() instead of isalpha() + isdigit().

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 12:14:37 +0000 Tony Finch <dot@dotat.at>

Run the release script verbosely.

 release.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-24 12:12:31 +0000 Tony Finch <dot@dotat.at>

Add a non-portability note to the README.

 README | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

---------------------------------------------------
2009-11-24 11:58:41 +0000 Tony Finch <dot@dotat.at>

Rename getline() to parseline() to avoid clashing with a glibc function.

 unifdef.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2009-11-23 19:15:42 +0000 Tony Finch <dot@dotat.at>

Add a realclean target

 Makefile | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

---------------------------------------------------
2009-11-23 19:14:02 +0000 Tony Finch <dot@dotat.at>

Add a README file

 Makefile   |  4 ++--
 README     | 21 +++++++++++++++++++++
 release.sh |  3 ++-
 3 files changed, 25 insertions(+), 3 deletions(-)

---------------------------------------------------
2009-11-23 19:07:17 +0000 Tony Finch <dot@dotat.at>

Further improvements to the release scripts.

Make the generated filenames more standard.

 Makefile   | 16 ++++++++--------
 release.sh | 16 +++++++++++-----
 2 files changed, 19 insertions(+), 13 deletions(-)

---------------------------------------------------
2009-11-23 18:54:52 +0000 Tony Finch <dot@dotat.at>

Include the Release script in the release.

 release.sh | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2009-11-23 18:53:35 +0000 Tony Finch <dot@dotat.at>

Revamp Makefile and add a separate Release script.

 Makefile   | 20 +++++++-------------
 release.sh | 22 ++++++++++++++++++++++
 2 files changed, 29 insertions(+), 13 deletions(-)

---------------------------------------------------
2009-11-23 18:37:17 +0000 Tony Finch <dot@dotat.at>

Document -d flag and update copyright notices.

 unifdef.1 | 11 +++++++----
 unifdef.c |  6 +++---
 2 files changed, 10 insertions(+), 7 deletions(-)

---------------------------------------------------
2009-11-23 18:24:55 +0000 Tony Finch <dot@dotat.at>

Fix regression in ! operator.

Since revision 1.180, unifdef is ignoring negations in the
outermost expression of an #if conditional.  Fix the regression,
and add a debug statement to help if any similar problems ever
need to be tracked down.

Submitted by: Jonathan Nieder <jrnieder@gmail.com>

 unifdef.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-23 17:59:33 +0000 Tony Finch <dot@dotat.at>

Correct the HISTORY section and add an AUTHORS section.

Obtained from FreeBSD.

 unifdef.1 | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

---------------------------------------------------
2009-11-23 17:58:27 +0000 Tony Finch <dot@dotat.at>

Add a "release" target

 Makefile | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

---------------------------------------------------
2008-03-10 16:15:52 +0000 Tony Finch <dot@dotat.at>

update synopsis

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-03-10 16:08:47 +0000 Tony Finch <dot@dotat.at>

backwards compatibility option

 unifdef.1 | 12 +++++++++++-
 unifdef.c | 14 +++++++++-----
 2 files changed, 20 insertions(+), 6 deletions(-)

---------------------------------------------------
2008-03-10 15:56:15 +0000 Tony Finch <dot@dotat.at>

Fix the state transition table.

 unifdef.c | 37 ++++++++++++++++++-------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

---------------------------------------------------
2008-03-10 15:24:29 +0000 Tony Finch <dot@dotat.at>

Lenient evaluation of && and || based on an idea from Ben Hutchings at 
Solarflare Communications.

 unifdef.1 |  74 +++++++++++++++++++++++-----------
 unifdef.c | 136 ++++++++++++++++++++++++++++++++++++++++----------------------
 2 files changed, 139 insertions(+), 71 deletions(-)

---------------------------------------------------
2008-03-10 13:01:40 +0000 Tony Finch <dot@dotat.at>

Compress blank lines, based on an idea from Ben Hutchings at Solarflare 
Communications.

 unifdef.1 | 28 ++++++++++++++++++----------
 unifdef.c | 37 ++++++++++++++++++++++++++-----------
 2 files changed, 44 insertions(+), 21 deletions(-)

---------------------------------------------------
2008-03-02 22:23:32 +0000 Tony Finch <dot@dotat.at>

Typo in comment spotted by Hasso Tepper at DragonFlyBSD.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-02-29 13:17:37 +0000 Tony Finch <dot@dotat.at>

Ah, I have worked out another way of triggering the abort. I think this fix 
covers all the cases.

 unifdef.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

---------------------------------------------------
2008-02-29 12:44:25 +0000 Tony Finch <dot@dotat.at>

Remove a bit of copyright crap.

 unifdef.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

---------------------------------------------------
2008-02-29 12:30:36 +0000 Tony Finch <dot@dotat.at>

Sync usage with synopsis in man page

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-02-29 12:29:34 +0000 Tony Finch <dot@dotat.at>

Ensure man page is ASCII.

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2008-02-29 12:26:04 +0000 Tony Finch <dot@dotat.at>

Fix an abort caused by files that have #endif and no newline on the last line 
(reported by Joe Karthauser). Also fix a benign uninitialized variable bug.

 unifdef.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

---------------------------------------------------
2007-04-30 07:37:17 +0000 Tony Finch <dot@dotat.at>

Fix explanation of copyright history.

 unifdef.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

---------------------------------------------------
2005-08-12 10:59:21 +0000 Tony Finch <dot@dotat.at>

Allow #if defined SYM as well as #if defined(SYM)

 unifdef.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

---------------------------------------------------
2005-03-08 12:39:01 +0000 Tony Finch <dot@dotat.at>

sync with upstream

 unifdef.1 | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

---------------------------------------------------
2005-03-08 12:38:48 +0000 Tony Finch <dot@dotat.at>

copyright dates

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2005-03-08 12:07:27 +0000 Tony Finch <dot@dotat.at>

Update the copyright notice to the FreeBSD standard. Do not recognize comment 
markers inside string and character literals.

 unifdef.c | 59 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 44 insertions(+), 15 deletions(-)

---------------------------------------------------
2003-08-12 20:51:30 +0000 Tony Finch <dot@dotat.at>

simpler declaration of copyright[]

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-08-12 20:33:59 +0000 Tony Finch <dot@dotat.at>

Make the embedded copyright and version information more portable. Remove 
NetBSD cvs id because it is no longer relevant. Remove FreeBSD cvs id because 
it isn't relevant upstream. Keep Berkeley runes because they go with the 
original licence.

 unifdef.c | 23 ++++++-----------------
 1 file changed, 6 insertions(+), 17 deletions(-)

---------------------------------------------------
2003-08-12 20:32:39 +0000 Tony Finch <dot@dotat.at>

FreeBSD cvs id isn't relevant in this file in the upstream version.

 unifdefall.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

---------------------------------------------------
2003-08-12 20:32:12 +0000 Tony Finch <dot@dotat.at>

Current FreeBSD cvs id

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-08-12 20:12:24 +0000 Tony Finch <dot@dotat.at>

optionally add #line directives to the output

 unifdef.1 | 11 +++++++++--
 unifdef.c | 20 ++++++++++++++------
 2 files changed, 23 insertions(+), 8 deletions(-)

---------------------------------------------------
2003-08-12 19:39:53 +0000 Tony Finch <dot@dotat.at>

Add a little sanity checking to the state transition table code.

 unifdef.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-08-12 19:35:31 +0000 Tony Finch <dot@dotat.at>

a minor style improvement

 unifdef.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-08-12 19:23:12 +0000 Tony Finch <dot@dotat.at>

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.

 unifdef.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

---------------------------------------------------
2003-08-07 16:01:10 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD

 unifdef.1 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2003-07-31 08:21:00 +0000 Tony Finch <dot@dotat.at>

All rights reserved

 unifdef.1 | 4 ++--
 unifdef.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-07-31 08:20:47 +0000 Tony Finch <dot@dotat.at>

add FreeBSD-style copyright & licence

 unifdefall.sh | 27 +++++++++++++++++++++++++--
 1 file changed, 25 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-07-31 08:10:39 +0000 Tony Finch <dot@dotat.at>

Sync copyright and licence with the code. I've put my copyright line below 
Berkeley's since a lot of the old man page still remains.

 unifdef.1 | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

---------------------------------------------------
2003-07-31 07:59:15 +0000 Tony Finch <dot@dotat.at>

Remove clause three of the licence, as permitted by Berkeley. OpenBSD have done 
this globally, but Net- and Free- haven't. I've had two questions about this 
recently, and since I don't distribute Berkeley's licence change statement this 
is a good way to be clear.

 unifdef.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2003-07-01 15:32:48 +0000 Tony Finch <dot@dotat.at>

FreeBSD ident string

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-07-01 15:21:25 +0000 Tony Finch <dot@dotat.at>

style tweak

 unifdef.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-07-01 15:13:49 +0000 Tony Finch <dot@dotat.at>

Make the handling of EOF a little more elegant.

 unifdef.c | 36 ++++++++++++++++--------------------
 1 file changed, 16 insertions(+), 20 deletions(-)

---------------------------------------------------
2003-07-01 14:53:50 +0000 Tony Finch <dot@dotat.at>

clean

 Makefile | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-07-01 08:34:43 +0000 Tony Finch <dot@dotat.at>

a comment about line continuations

 unifdef.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2003-07-01 08:19:58 +0000 Tony Finch <dot@dotat.at>

Improve the expression evaluator's debugging output.

 unifdef.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-06-30 14:30:54 +0000 Tony Finch <dot@dotat.at>

More improvements to comments regarding global variables.

 unifdef.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2003-06-30 14:26:48 +0000 Tony Finch <dot@dotat.at>

Make a note in a comment about the relationship between getline() and 
skipcomment() w.r.t. the linestate.

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-06-30 14:22:40 +0000 Tony Finch <dot@dotat.at>

When in text mode, or when ignoring a symbol, skipcomment needs to adjust the 
linestate when it hits a newline.

 unifdef.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-06-30 14:03:56 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD.

 unifdef.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2003-01-20 14:43:55 +0000 Tony Finch <dot@dotat.at>

makefile for unifdef

 Makefile | 11 +++++++++++
 1 file changed, 11 insertions(+)

---------------------------------------------------
2003-01-20 14:37:08 +0000 Tony Finch <dot@dotat.at>

Slightly more correct SYNOPSIS

 unifdef.1 | 14 ++++++--------
 unifdef.c |  4 ++--
 2 files changed, 8 insertions(+), 10 deletions(-)

---------------------------------------------------
2003-01-20 14:01:47 +0000 Tony Finch <dot@dotat.at>

add a note about probalems caused by division

 unifdef.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 13:48:06 +0000 Tony Finch <dot@dotat.at>

typo

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 12:46:08 +0000 Tony Finch <dot@dotat.at>

Sync $FreeBSD$ after downstream commit

 unifdef.1 | 4 ++--
 unifdef.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-01-20 12:05:41 +0000 Tony Finch <dot@dotat.at>

clean up some -o remnants

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-01-20 12:03:48 +0000 Tony Finch <dot@dotat.at>

terminological consistency: s/modify/edit/

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 12:03:10 +0000 Tony Finch <dot@dotat.at>

Compactify the Mfoo functions.

 unifdef.c | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

---------------------------------------------------
2003-01-20 11:46:53 +0000 Tony Finch <dot@dotat.at>

more idiomatic strlcpy usage

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 11:45:32 +0000 Tony Finch <dot@dotat.at>

Correct dodgy handling -- line continuations in keywords are always an error.

 unifdef.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

---------------------------------------------------
2003-01-20 11:36:12 +0000 Tony Finch <dot@dotat.at>

Rename -o to -e, i.e. "less errors" instead of "allow obfuscation".

 unifdef.1 | 40 ++++++++++++++++++++--------------------
 unifdef.c | 12 ++++++------
 2 files changed, 26 insertions(+), 26 deletions(-)

---------------------------------------------------
2003-01-20 11:22:44 +0000 Tony Finch <dot@dotat.at>

remove another spurious space

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 02:58:11 +0000 Tony Finch <dot@dotat.at>

Improve the handling of multiline preprocessor directives. Don't complain when 
they don't affect the output. Add a switch that causes us to fudge it instead 
of complaining when it is possible to do so.

Prompted by an error report from Poul-Henning Kamp <phk@FreeBSD.org>

 unifdef.1 |  24 +++++++++--
 unifdef.c | 142 ++++++++++++++++++++++++++++++++++++++++++++------------------
 2 files changed, 123 insertions(+), 43 deletions(-)

---------------------------------------------------
2003-01-20 02:53:27 +0000 Tony Finch <dot@dotat.at>

replace accidentally zapped #endif

 unifdef.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2003-01-20 02:50:36 +0000 Tony Finch <dot@dotat.at>

Sync $FreeBSD$

 unifdef.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-01-20 01:51:11 +0000 Tony Finch <dot@dotat.at>

Deconfuse ingnore[] (which is a per-symbol flag) and ignoring[] (which is the 
stack of ignore states).

 unifdef.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2003-01-20 01:32:23 +0000 Tony Finch <dot@dotat.at>

Whitespace fixes from OpenBSD.

 unifdef.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-01-20 00:59:36 +0000 Tony Finch <dot@dotat.at>

Be more explicit about the failure mode.

Reported by: Poul-Henning Kamp <phk@FreeBSD.org>

 unifdef.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2003-01-20 00:50:06 +0000 Tony Finch <dot@dotat.at>

typo: maintin -> maintain

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-20 00:01:49 +0000 Tony Finch <dot@dotat.at>

Purge strcpy() to appease OpenBSD. Consistently use the term "edit" when 
talking about changing preprocessor keywords in the output.

Suggested by: Ted Unangst <tedu@stanford.edu>

 unifdef.c | 26 +++++++++++++++++++-------
 1 file changed, 19 insertions(+), 7 deletions(-)

---------------------------------------------------
2003-01-17 19:19:13 +0000 Tony Finch <dot@dotat.at>

mdoc pedantry from FreeBSD

 unifdef.1 | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2003-01-17 19:04:36 +0000 Tony Finch <dot@dotat.at>

Style fix: brackets around the argument to return. From OpenBSD.

 unifdef.c | 68 +++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 34 insertions(+), 34 deletions(-)

---------------------------------------------------
2003-01-17 19:03:02 +0000 Tony Finch <dot@dotat.at>

Add a necessary cast to an argument of printf. From OpenBSD.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2003-01-17 19:01:59 +0000 Tony Finch <dot@dotat.at>

Whitespace fixes from OpenBSD.

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 15:26:41 +0000 Tony Finch <dot@dotat.at>

Damnit, it makes sense for flushline() to be near the #if machine, and the diff 
is doomed to be vast anyway.

 unifdef.c | 37 ++++++++++++++++++-------------------
 1 file changed, 18 insertions(+), 19 deletions(-)

---------------------------------------------------
2002-12-13 15:20:05 +0000 Tony Finch <dot@dotat.at>

make warns-clean in an evil manner

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 13:58:00 +0000 Tony Finch <dot@dotat.at>

factor out an error message

 unifdef.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 11:44:25 +0000 Tony Finch <dot@dotat.at>

remove an XXX that has been addressed

 unifdef.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

---------------------------------------------------
2002-12-13 11:42:37 +0000 Tony Finch <dot@dotat.at>

sort getopt cases

 unifdef.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-13 11:40:08 +0000 Tony Finch <dot@dotat.at>

Use ISO/IEC 9899:1999 minimum translation limits

 unifdef.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-12-13 11:33:34 +0000 Tony Finch <dot@dotat.at>

expand on unifdef's understanding of C

 unifdef.1 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-13 11:24:26 +0000 Tony Finch <dot@dotat.at>

note the appearance of ANSI support

 unifdef.1 | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-13 11:24:08 +0000 Tony Finch <dot@dotat.at>

describe the limitation on preprocessor lines better

 unifdef.1 | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-13 11:15:20 +0000 Tony Finch <dot@dotat.at>

spot backslash-newline in a preprocessor keyword

 unifdef.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-13 11:13:02 +0000 Tony Finch <dot@dotat.at>

fix an error message

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-13 11:11:11 +0000 Tony Finch <dot@dotat.at>

less obfuscated ifdef/ifndef handling

 unifdef.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-12-13 11:04:43 +0000 Tony Finch <dot@dotat.at>

comment the state enums

 unifdef.c | 50 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

---------------------------------------------------
2002-12-12 19:53:53 +0000 Tony Finch <dot@dotat.at>

move the forward declaration of struct ops to a better place

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 19:52:26 +0000 Tony Finch <dot@dotat.at>

move flushline() back where it used to be

 unifdef.c | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

---------------------------------------------------
2002-12-12 19:50:15 +0000 Tony Finch <dot@dotat.at>

more commentary on strlcmp()

 unifdef.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-12 19:46:44 +0000 Tony Finch <dot@dotat.at>

comment all globals

 unifdef.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-12 19:45:29 +0000 Tony Finch <dot@dotat.at>

terminological consistency for pass states

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 19:43:04 +0000 Tony Finch <dot@dotat.at>

fix some comments

 unifdef.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 19:42:23 +0000 Tony Finch <dot@dotat.at>

re-order enums to reduce diffs with FreeBSD

 unifdef.c | 50 +++++++++++++++++++++++++-------------------------
 1 file changed, 25 insertions(+), 25 deletions(-)

---------------------------------------------------
2002-12-12 19:38:45 +0000 Tony Finch <dot@dotat.at>

remove some c&p garbage

 unifdef.c | 24 +-----------------------
 1 file changed, 1 insertion(+), 23 deletions(-)

---------------------------------------------------
2002-12-12 19:36:23 +0000 Tony Finch <dot@dotat.at>

move flushline closer to its usage point

 unifdef.c | 60 +++++++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 41 insertions(+), 19 deletions(-)

---------------------------------------------------
2002-12-12 19:35:17 +0000 Tony Finch <dot@dotat.at>

rename a variable in process() to reduce diffs with FreeBSD

 unifdef.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-12-12 19:29:02 +0000 Tony Finch <dot@dotat.at>

move the tables closer to their interpreters

 unifdef.c | 317 +++++++++++++++++++++++++++++++-------------------------------
 1 file changed, 160 insertions(+), 157 deletions(-)

---------------------------------------------------
2002-12-12 19:15:24 +0000 Tony Finch <dot@dotat.at>

reduce the space used by the state transition functions

 unifdef.c | 146 ++++++++++++++++++++++++--------------------------------------
 1 file changed, 57 insertions(+), 89 deletions(-)

---------------------------------------------------
2002-12-12 19:04:56 +0000 Tony Finch <dot@dotat.at>

note another diagnostic

 unifdef.1 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-12 19:04:56 +0000 Tony Finch <dot@dotat.at>

make everything static, and improve the order of declarations

 unifdef.c | 328 +++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 175 insertions(+), 153 deletions(-)

---------------------------------------------------
2002-12-12 17:59:51 +0000 Tony Finch <dot@dotat.at>

Improve the state table commentary.

 unifdef.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-12 17:41:39 +0000 Tony Finch <dot@dotat.at>

reduce state transition table line lengths below 80

 unifdef.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-12 17:30:55 +0000 Tony Finch <dot@dotat.at>

reduce state function line lengths below 80

 unifdef.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-12 17:24:26 +0000 Tony Finch <dot@dotat.at>

Exit 1 if the output differs from the input.

 unifdef.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:21:22 +0000 Tony Finch <dot@dotat.at>

Exit 2 on error.

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:21:04 +0000 Tony Finch <dot@dotat.at>

Bring the DIAGNOSTICS in line with reality.

 unifdef.1 | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-12 17:17:52 +0000 Tony Finch <dot@dotat.at>

restore the complaint about EOF in comments

 unifdef.1 | 5 ++++-
 unifdef.c | 6 ++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:12:57 +0000 Tony Finch <dot@dotat.at>

skipsym doesn't need a separate test for '\0'

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 17:11:28 +0000 Tony Finch <dot@dotat.at>

rename constexpr back to keepthis to reduce diffs

 unifdef.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-12 17:06:15 +0000 Tony Finch <dot@dotat.at>

stcomline isn't used any more

 unifdef.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 17:05:00 +0000 Tony Finch <dot@dotat.at>

Note that NO_COMMMENT is false, as before.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-12 17:03:37 +0000 Tony Finch <dot@dotat.at>

Move the error function back to the end

 unifdef.c | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-12-12 17:02:08 +0000 Tony Finch <dot@dotat.at>

Better error messages outside #if groups

 unifdef.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-12 17:01:50 +0000 Tony Finch <dot@dotat.at>

Note a new diagnostic for preprocessor lines we can't handle.

 unifdef.1 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-12 17:00:04 +0000 Tony Finch <dot@dotat.at>

Instead of quietly ballsing up the output, bitch if we encounter a preprocessor 
line we can't handle.

 unifdef.c | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

---------------------------------------------------
2002-12-12 16:04:04 +0000 Tony Finch <dot@dotat.at>

Rename checkline() to getline() and move the fgets() inside it.

 unifdef.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-11 20:46:06 +0000 Tony Finch <dot@dotat.at>

Add a missing unignore()

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-11 20:42:47 +0000 Tony Finch <dot@dotat.at>

Handle #ifs nested inside a false block correctly.

 unifdef.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-12-11 20:15:57 +0000 Tony Finch <dot@dotat.at>

remove nul character comment

 unifdef.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

---------------------------------------------------
2002-12-11 20:05:52 +0000 Tony Finch <dot@dotat.at>

Overhaul the #if state machine. It's now table-driven rather than hand- coded, 
and it doesn't have the old version's bugs. The debugging messages have also 
been improved.

 unifdef.c | 452 ++++++++++++++++++++++++++++----------------------------------
 1 file changed, 205 insertions(+), 247 deletions(-)

---------------------------------------------------
2002-12-11 20:04:40 +0000 Tony Finch <dot@dotat.at>

some more bugs

 unifdef.1 | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-11 02:28:22 +0000 Tony Finch <dot@dotat.at>

Rename keepthis to constexpr which is easier to think about. Re-comment and 
re-arrange some globals.

 unifdef.c | 24 +++++++++++-------------
 1 file changed, 11 insertions(+), 13 deletions(-)

---------------------------------------------------
2002-12-11 02:22:44 +0000 Tony Finch <dot@dotat.at>

Add a note about trigraphs.

 unifdef.1 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-11 02:13:04 +0000 Tony Finch <dot@dotat.at>

Use fgets instead of getline() because the latter gets EOF wrong.

 unifdef.c | 77 ++-------------------------------------------------------------
 1 file changed, 2 insertions(+), 75 deletions(-)

---------------------------------------------------
2002-12-11 02:07:02 +0000 Tony Finch <dot@dotat.at>

Overhaul the comment and preprocessor line parsers.

 unifdef.1 |   4 +-
 unifdef.c | 232 ++++++++++++++++++++++++++++++++++++--------------------------
 2 files changed, 137 insertions(+), 99 deletions(-)

---------------------------------------------------
2002-12-11 01:44:04 +0000 Tony Finch <dot@dotat.at>

Add an asymmetric variant of strncmp() called strlcmp().

 unifdef.c | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-11 00:00:47 +0000 Tony Finch <dot@dotat.at>

handle end-of-string in skipsym()

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-10 23:20:14 +0000 Tony Finch <dot@dotat.at>

A neater way of handling #elif

 unifdef.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-12-10 23:02:11 +0000 Tony Finch <dot@dotat.at>

Fix findsym()'s comment.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-12-10 23:01:04 +0000 Tony Finch <dot@dotat.at>

Improve findsym().

 unifdef.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-10 21:11:58 +0000 Tony Finch <dot@dotat.at>

Remove quote handling.

 unifdef.c | 70 ++++++++-------------------------------------------------------
 1 file changed, 9 insertions(+), 61 deletions(-)

---------------------------------------------------
2002-12-10 21:11:19 +0000 Tony Finch <dot@dotat.at>

Update the spec to relate better to ANSI C. Strings no longer affect the 
preprocessor, but line continuations do.

 unifdef.1 | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-12-10 17:28:09 +0000 Tony Finch <dot@dotat.at>

Note that string parsing needs to be fixed. Actually it just needs to be ripped 
out and replaced with backslash line continuation handling since strings can't 
contain newlines any more.

 unifdef.1 | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-12-10 17:23:54 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD

 unifdef.1 | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-12-10 17:12:58 +0000 Tony Finch <dot@dotat.at>

Handle inquote more elegantly

 unifdef.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-12-10 17:00:39 +0000 Tony Finch <dot@dotat.at>

Make the symbol table zero-based, and remove an incorrect comment.

 unifdef.c | 29 +++++++++++++++--------------
 1 file changed, 15 insertions(+), 14 deletions(-)

---------------------------------------------------
2002-12-10 16:22:12 +0000 Tony Finch <dot@dotat.at>

Terminological consistency: only use the word "ignore" to mean non-C parsing.

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-12-10 16:10:51 +0000 Tony Finch <dot@dotat.at>

Ensure that cursym is always set by checkline().

 unifdef.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-09-24 19:52:11 +0000 Tony Finch <dot@dotat.at>

update FreeBSD IDs

 unifdef.1     | 4 ++--
 unifdef.c     | 4 ++--
 unifdefall.sh | 4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-09-24 19:44:12 +0000 Tony Finch <dot@dotat.at>

improve language

 unifdef.1 | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-09-24 19:43:57 +0000 Tony Finch <dot@dotat.at>

conform to the spec -- the -k option to unifdef is now needed

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-09-24 19:16:29 +0000 Tony Finch <dot@dotat.at>

Pass through constant #ifs unless invoked with -k.

 unifdef.1 | 26 +++++++++++++++++++++++---
 unifdef.c | 24 +++++++++++++++++-------
 2 files changed, 40 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-05-30 11:50:13 +0000 Tony Finch <dot@dotat.at>

add freebsd version string

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-30 11:47:26 +0000 Tony Finch <dot@dotat.at>

Sync with FreeBSD's mdoc markup fixes.

 unifdef.1 | 84 +++++++++++++++++++++++++++++----------------------------------
 1 file changed, 39 insertions(+), 45 deletions(-)

---------------------------------------------------
2002-05-21 17:33:41 +0000 Tony Finch <dot@dotat.at>

style(9) whitespace

 unifdef.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-05-15 19:37:50 +0000 Tony Finch <dot@dotat.at>

consistent spacing in the function declarations

 unifdef.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

---------------------------------------------------
2002-05-15 19:36:10 +0000 Tony Finch <dot@dotat.at>

cast away qualifiers less evilly

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-15 19:34:40 +0000 Tony Finch <dot@dotat.at>

Replace h0h0opt with getopt.

 unifdef.c | 135 ++++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 78 insertions(+), 57 deletions(-)

---------------------------------------------------
2002-05-15 18:55:14 +0000 Tony Finch <dot@dotat.at>

Don't run off the end of command-line options inside findsym().

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-05-15 15:43:14 +0000 Tony Finch <dot@dotat.at>

a typo and a formatting fix from dwmalone

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-05-15 10:31:20 +0000 Tony Finch <dot@dotat.at>

FreeBSD CVS ID correctness

 unifdefall.sh | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-05-14 22:15:03 +0000 Tony Finch <dot@dotat.at>

be more optimistic about the level of expression support

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-14 22:13:21 +0000 Tony Finch <dot@dotat.at>

the #ifdef and #if on the .Nd line should be .Li but this doesn't seem to be 
possible, so write "preprocessor conditionals" instead.

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-14 21:14:30 +0000 Tony Finch <dot@dotat.at>

Correct the ordering and indentation of the CVS IDs according to FreeBSD style.

 unifdef.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2002-05-14 21:11:50 +0000 Tony Finch <dot@dotat.at>

add a missing comma to the SEE ALSO list

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-05-14 21:11:14 +0000 Tony Finch <dot@dotat.at>

Document unifdefall and the -I option.

 unifdef.1 | 40 +++++++++++++++++++++++++++++++++++++---
 1 file changed, 37 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-05-02 12:38:29 +0000 Tony Finch <dot@dotat.at>

Better function names -- doif() -> process() and doif_1() -> doif()

 unifdef.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

---------------------------------------------------
2002-05-02 12:36:22 +0000 Tony Finch <dot@dotat.at>

consistent commenting

 unifdef.c | 69 ++++++++++++++++++++++++++++++++++++++++++++-------------------
 1 file changed, 48 insertions(+), 21 deletions(-)

---------------------------------------------------
2002-05-02 12:17:31 +0000 Tony Finch <dot@dotat.at>

Consistent spacing in declaration of local variables, and simplified 
flushline().

 unifdef.c | 41 ++++++++++++++++++-----------------------
 1 file changed, 18 insertions(+), 23 deletions(-)

---------------------------------------------------
2002-05-02 00:03:41 +0000 Tony Finch <dot@dotat.at>

note #line wish

 unifdef.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-29 16:41:08 +0000 Tony Finch <dot@dotat.at>

Handle symbols that are defined without a value correctly, again.

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 16:17:39 +0000 Tony Finch <dot@dotat.at>

output of cpp needs to be sorted

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 03:08:10 +0000 Tony Finch <dot@dotat.at>

clean up tmp dir

 unifdefall.sh | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-29 03:07:20 +0000 Tony Finch <dot@dotat.at>

tidy up

 unifdefall.sh | 32 ++++++++------------------------
 1 file changed, 8 insertions(+), 24 deletions(-)

---------------------------------------------------
2002-04-29 03:00:58 +0000 Tony Finch <dot@dotat.at>

Don't get confused by symbols that are the prefix of other symbols.

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 02:55:15 +0000 Tony Finch <dot@dotat.at>

mention support for the comparison operators

 unifdef.1 | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-29 02:53:58 +0000 Tony Finch <dot@dotat.at>

Overhaul the expression evaluator. The integer value of an expression is now 
calculated, rather than just the boolen value, and the evaluation of binary 
operators is now table-driven. These two things combine to make it easier to 
add support for new operators, such as comparisions.

 unifdef.c | 215 +++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 123 insertions(+), 92 deletions(-)

---------------------------------------------------
2002-04-29 00:20:42 +0000 Tony Finch <dot@dotat.at>

Handle symbols that are defined without a value correctly.

 unifdefall.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-29 00:18:06 +0000 Tony Finch <dot@dotat.at>

-d -> --debug

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-29 00:17:11 +0000 Tony Finch <dot@dotat.at>

Fix handling of bracketed expressions -- we didn't pass over the )

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-28 23:42:36 +0000 Tony Finch <dot@dotat.at>

A script for stripping out as many #if's from a file as possible.

 unifdefall.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

---------------------------------------------------
2002-04-28 22:32:30 +0000 Tony Finch <dot@dotat.at>

Ignore -Ifoo options so that the same options can be used with cpp -dM

 unifdef.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-28 22:15:26 +0000 Tony Finch <dot@dotat.at>

allow a - on the command line to mean "input from stdin"

 unifdef.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-28 22:14:07 +0000 Tony Finch <dot@dotat.at>

say explicitly that at least one -D or -U is needed

 unifdef.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-27 17:27:14 +0000 Tony Finch <dot@dotat.at>

allow longer lines in the input

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-27 17:26:53 +0000 Tony Finch <dot@dotat.at>

avoid a potential buffer overflow

 unifdef.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-27 17:23:47 +0000 Tony Finch <dot@dotat.at>

spell getlin() with an e

 unifdef.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 20:44:33 +0000 Tony Finch <dot@dotat.at>

remove redundant function

 unifdef.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-26 20:32:23 +0000 Tony Finch <dot@dotat.at>

Multiple __RCSID()s is not portable, so use __IDSTRING() instead.

 unifdef.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-26 20:23:09 +0000 Tony Finch <dot@dotat.at>

move a #define to a better place

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 20:18:07 +0000 Tony Finch <dot@dotat.at>

add a couple of missing [=val] phrases

 unifdef.1 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 20:17:35 +0000 Tony Finch <dot@dotat.at>

use .Li for #if directives

 unifdef.1 | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

---------------------------------------------------
2002-04-26 20:09:37 +0000 Tony Finch <dot@dotat.at>

change the #if bug into an expression handling bug

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 20:08:45 +0000 Tony Finch <dot@dotat.at>

mention the elif diagnostic

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 20:07:49 +0000 Tony Finch <dot@dotat.at>

see also cpp(1)

 unifdef.1 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-26 20:07:29 +0000 Tony Finch <dot@dotat.at>

remove spurious historical note

 unifdef.1 | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-26 20:05:12 +0000 Tony Finch <dot@dotat.at>

explain the -s option

 unifdef.1 | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-26 20:01:06 +0000 Tony Finch <dot@dotat.at>

Improve the explanation of the -D and -U options.

 unifdef.1 | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

---------------------------------------------------
2002-04-26 19:54:54 +0000 Tony Finch <dot@dotat.at>

better introductory paragraph

 unifdef.1 | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

---------------------------------------------------
2002-04-26 19:51:20 +0000 Tony Finch <dot@dotat.at>

remove -compact from the flag list

 unifdef.1 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 19:50:54 +0000 Tony Finch <dot@dotat.at>

expand the introduction to explain the new functionality

 unifdef.1 | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 19:26:10 +0000 Tony Finch <dot@dotat.at>

add a paragraph gap between -l and -t

 unifdef.1 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-26 19:24:47 +0000 Tony Finch <dot@dotat.at>

Add the optional symbol value to the various places -Dsym is mentioned, and add 
the -s flag to the synopsis.

 unifdef.1 | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-04-26 19:20:34 +0000 Tony Finch <dot@dotat.at>

update document date and one-line description

 unifdef.1 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 19:15:55 +0000 Tony Finch <dot@dotat.at>

add $dotat$

 unifdef.1 | 1 +
 1 file changed, 1 insertion(+)

---------------------------------------------------
2002-04-26 19:15:14 +0000 Tony Finch <dot@dotat.at>

add my name to the copyright section

 unifdef.1 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---------------------------------------------------
2002-04-26 19:14:35 +0000 Tony Finch <dot@dotat.at>

add unifdef manual page from FreeBSD

 unifdef.1 | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 173 insertions(+)

---------------------------------------------------
2002-04-26 19:12:22 +0000 Tony Finch <dot@dotat.at>

Add a new option for printing a list of the symbols found in #if expressions.

 unifdef.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 19:03:48 +0000 Tony Finch <dot@dotat.at>

option variables in alphabetical order

 unifdef.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 19:02:45 +0000 Tony Finch <dot@dotat.at>

parse options in alphabetical order

 unifdef.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 18:56:55 +0000 Tony Finch <dot@dotat.at>

fix some h0h0 formatting

 unifdef.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-04-26 18:51:19 +0000 Tony Finch <dot@dotat.at>

Fix the handling of #elif.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 18:13:43 +0000 Tony Finch <dot@dotat.at>

put my name in the copyright section

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 17:42:31 +0000 Tony Finch <dot@dotat.at>

Move all the global stuff to the start of the program in the order types, 
variables, function declarations, and ensure that all functions are declared. 
The program now compiles cleanly with $FANFCFLAGS.

 unifdef.c | 141 ++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 72 insertions(+), 69 deletions(-)

---------------------------------------------------
2002-04-26 17:33:47 +0000 Tony Finch <dot@dotat.at>

use enums where appropriate

 unifdef.c | 64 +++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 36 insertions(+), 28 deletions(-)

---------------------------------------------------
2002-04-26 17:25:50 +0000 Tony Finch <dot@dotat.at>

blank lines after functions

 unifdef.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-26 17:23:57 +0000 Tony Finch <dot@dotat.at>

const correctness

 unifdef.c | 110 ++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 53 insertions(+), 57 deletions(-)

---------------------------------------------------
2002-04-26 17:05:23 +0000 Tony Finch <dot@dotat.at>

more bool correctness

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 17:02:17 +0000 Tony Finch <dot@dotat.at>

Since MAXSYMS is bigger than CHAR_MAX, nsyms has to be an int.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 17:01:38 +0000 Tony Finch <dot@dotat.at>

ANSI function definitions

 unifdef.c | 62 +++++++++++++++++++-------------------------------------------
 1 file changed, 19 insertions(+), 43 deletions(-)

---------------------------------------------------
2002-04-26 16:56:34 +0000 Tony Finch <dot@dotat.at>

Replace the homegrown Bool/YES/NO with stdbool.h things, and ensure that 
boolean variables are declared consistently.

 unifdef.c | 110 ++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 53 insertions(+), 57 deletions(-)

---------------------------------------------------
2002-04-26 16:49:11 +0000 Tony Finch <dot@dotat.at>

Add __FBSDID and conditionalize the __RCSIDs

 unifdef.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

---------------------------------------------------
2002-04-26 16:47:53 +0000 Tony Finch <dot@dotat.at>

add some debugging code

 unifdef.c | 35 +++++++++++++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 15:47:04 +0000 Tony Finch <dot@dotat.at>

fix the line number reporting in the last change

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 15:38:59 +0000 Tony Finch <dot@dotat.at>

Improve error reporting -- include the start line of the current #if.

 unifdef.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

---------------------------------------------------
2002-04-26 15:34:44 +0000 Tony Finch <dot@dotat.at>

Remove some slight punning between comment types and booleans.

 unifdef.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-26 15:06:30 +0000 Tony Finch <dot@dotat.at>

Avoid reparsing the line that causes doif() to return to doif_1().

 unifdef.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

---------------------------------------------------
2002-04-26 13:54:16 +0000 Tony Finch <dot@dotat.at>

put the newline on the #endif that replaces #elif lines

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-26 13:51:41 +0000 Tony Finch <dot@dotat.at>

Finish implementation of #elif and nesting. This version passes some initial 
tests.

 unifdef.c | 133 ++++++++++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 94 insertions(+), 39 deletions(-)

---------------------------------------------------
2002-04-25 23:46:55 +0000 Tony Finch <dot@dotat.at>

partial implementation of #elif and properly nesting #ifs.

 unifdef.c | 216 +++++++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 130 insertions(+), 86 deletions(-)

---------------------------------------------------
2002-04-25 23:27:40 +0000 Tony Finch <dot@dotat.at>

remove redundant stline variable

 unifdef.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

---------------------------------------------------
2002-04-25 23:25:31 +0000 Tony Finch <dot@dotat.at>

simplify error line number handling

 unifdef.c | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

---------------------------------------------------
2002-04-25 23:02:51 +0000 Tony Finch <dot@dotat.at>

simplify error handling

 unifdef.c | 59 +++++++++++++++++++++--------------------------------------
 1 file changed, 21 insertions(+), 38 deletions(-)

---------------------------------------------------
2002-04-25 21:44:51 +0000 Tony Finch <dot@dotat.at>

fix a comment to reflect the previous change

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 21:43:07 +0000 Tony Finch <dot@dotat.at>

Change the "unknown symbol" return value from findsym() from -1 to 0.

 unifdef.c | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-25 21:19:55 +0000 Tony Finch <dot@dotat.at>

remove an unnecessary variable inside doif()

 unifdef.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

---------------------------------------------------
2002-04-25 20:24:16 +0000 Tony Finch <dot@dotat.at>

Remove the inif argument to doif() entirely, since inif == (depth != 0).

 unifdef.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 20:20:05 +0000 Tony Finch <dot@dotat.at>

Move the gall to getlin() up to doif() so that it will be able to examine the 
same line more than once.

 unifdef.c | 48 +++++++++++++++++++++---------------------------
 1 file changed, 21 insertions(+), 27 deletions(-)

---------------------------------------------------
2002-04-25 19:59:46 +0000 Tony Finch <dot@dotat.at>

Simplify doif()'s inif argument to just a boolean, since the IN_ELSE value 
isn't very different from IN_IF, and the idea doesn't work well with #elif.

 unifdef.c | 19 +++++++------------
 1 file changed, 7 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-25 18:45:54 +0000 Tony Finch <dot@dotat.at>

purge LT_OTHER since it's a synonym for LT_IF

 unifdef.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

---------------------------------------------------
2002-04-25 18:17:09 +0000 Tony Finch <dot@dotat.at>

Restore the requirement that at least one -D or -U must be present on the 
command line, which was broken when #if handling was added.

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 18:15:23 +0000 Tony Finch <dot@dotat.at>

use __RCSID for the sccs id and remove redundant #ifndef lint lines

 unifdef.c | 12 ++----------
 1 file changed, 2 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 18:10:00 +0000 Tony Finch <dot@dotat.at>

Initial version of #if handling. Symbol 0 is used for tracking the state of 
#if/#else activity. TODO: #elif, nested #if

 unifdef.c | 155 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 145 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 16:16:26 +0000 Tony Finch <dot@dotat.at>

allow whitespace before #

 unifdef.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:12:23 +0000 Tony Finch <dot@dotat.at>

fix location of a {

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:11:54 +0000 Tony Finch <dot@dotat.at>

add a function that will evaluate if expressions

 unifdef.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:05:30 +0000 Tony Finch <dot@dotat.at>

remove spurious fflush()

 unifdef.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 16:04:55 +0000 Tony Finch <dot@dotat.at>

style: #include ordering; variable alignment

 unifdef.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

---------------------------------------------------
2002-04-25 16:03:16 +0000 Tony Finch <dot@dotat.at>

use err()

 unifdef.c | 83 ++++++++++++++++++++++++++-------------------------------------
 1 file changed, 34 insertions(+), 49 deletions(-)

---------------------------------------------------
2002-04-25 15:51:42 +0000 Tony Finch <dot@dotat.at>

another formatting improvement

 unifdef.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

---------------------------------------------------
2002-04-25 15:37:25 +0000 Tony Finch <dot@dotat.at>

sensible else if formatting

 unifdef.c | 150 ++++++++++++++++++++++++++++----------------------------------
 1 file changed, 67 insertions(+), 83 deletions(-)

---------------------------------------------------
2002-04-25 15:31:28 +0000 Tony Finch <dot@dotat.at>

deal with -Dsym=value

 unifdef.c | 30 +++++++++++++++++++++---------
 1 file changed, 21 insertions(+), 9 deletions(-)

---------------------------------------------------
2002-04-25 15:02:48 +0000 Tony Finch <dot@dotat.at>

move #endif comments to a better place

 unifdef.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

---------------------------------------------------
2002-04-25 14:59:59 +0000 Tony Finch <dot@dotat.at>

allow a reasonable number of symbols

 unifdef.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---------------------------------------------------
2002-04-25 14:57:56 +0000 Tony Finch <dot@dotat.at>

remove BSS cruft

 unifdef.c | 39 +++++++++++++++++++--------------------
 1 file changed, 19 insertions(+), 20 deletions(-)

---------------------------------------------------
2002-04-25 14:55:27 +0000 Tony Finch <dot@dotat.at>

remove __P

 unifdef.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

---------------------------------------------------
2002-04-25 14:52:54 +0000 Tony Finch <dot@dotat.at>

revert to the CSRG copyright/sccs rubric and add $dotat$

 unifdef.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

---------------------------------------------------
2002-04-25 14:50:23 +0000 Tony Finch <dot@dotat.at>

import from NetBSD

 unifdef.c | 684 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 684 insertions(+)

---------------------------------------------------
