mirror of
https://https.git.savannah.gnu.org/git/diffutils.git
synced 2026-01-27 09:54:25 +00:00
diff: fix bug where -D does not work
Problem reported by Robert Webb (bug#61193). * NEWS: Mention this. * src/diff.c (main): Omit stray ‘sizeof’. * tests/ifdef: New test. * tests/Makefile.am (TESTS): Add it.
This commit is contained in:
parent
7e7ef707d6
commit
ba08fbbb0c
5
NEWS
5
NEWS
@ -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)
|
||||
|
||||
@ -10,6 +10,7 @@ TESTS = \
|
||||
diff3 \
|
||||
excess-slash \
|
||||
help-version \
|
||||
ifdef \
|
||||
invalid-re \
|
||||
function-line-vs-leading-space \
|
||||
ignore-matching-lines \
|
||||
|
||||
37
tests/ifdef
Executable file
37
tests/ifdef
Executable file
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user