diff options
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | src/diff.c | 2 | ||||
-rw-r--r-- | tests/Makefile.am | 1 | ||||
-rwxr-xr-x | tests/ifdef | 37 |
4 files changed, 44 insertions, 1 deletions
@@ -2,6 +2,11 @@ GNU diffutils NEWS -*- outline -*- * Noteworthy changes in release ?.? (????-??-??) [?] +** Bug fixes + + diff -D no longer fails to output #ifndef lines. + [bug#61193 introduced in 3.9] + * Noteworthy changes in release 3.9 (2023-01-15) [stable] @@ -416,7 +416,7 @@ main (int argc, char **argv) char *base = b; int changes = 0; - for (i = 0; i < sizeof sizeof C_ifdef_group_formats; i++) + for (i = 0; i < sizeof C_ifdef_group_formats; i++) { char ch = C_ifdef_group_formats[i]; switch (ch) diff --git a/tests/Makefile.am b/tests/Makefile.am index d98df82..624192d 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -10,6 +10,7 @@ TESTS = \ diff3 \ excess-slash \ help-version \ + ifdef \ invalid-re \ function-line-vs-leading-space \ ignore-matching-lines \ diff --git a/tests/ifdef b/tests/ifdef new file mode 100755 index 0000000..d3b05dd --- /dev/null +++ b/tests/ifdef @@ -0,0 +1,37 @@ +#!/bin/sh +# --ifdef + +# Bug reported by Robert Webb in <http://bugs.gnu.org/61193>. + +. "${srcdir=.}/init.sh"; path_prepend_ ../src + +fail=0 + +cat <<'EOF' >a +1 +2 +3 +4 +5 +EOF + +cat <<'EOF' >b +1 +4 +5 +EOF + +cat <<'EOF' >exp +1 +#ifndef ZZZ +2 +3 +#endif /* ! ZZZ */ +4 +5 +EOF + +returns_ 1 diff -D ZZZ a b >out 2>err || fail=1 +compare exp out || fail=1 + +Exit $fail |