summaryrefslogtreecommitdiff
path: root/system/diffutils/diff-fix-bug-where-D-does-not-work.patch
blob: fa547efd8ad88902c91e86ac8b215ef98560f54a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
This patch differs from upstream in the following way:

  * It does not add the 'ifdef' regression test.

Justification:

  * Adding unnecessary dependencies (autotools) is undesirable;

  * Attempting to 'autoreconf -i' (due to touched 'Makefile.am')
    does not work in the current environment, failing with:

    configure:7925: error: possibly undefined macro: gl_ANYTHREADLIB_EARLY
    ...
    configure:13623: error: possibly undefined macro: gl_PTHREADLIB
    configure:13708: error: possibly undefined macro: gl_WEAK_SYMBOLS
    autoreconf: error: /usr/bin/autoconf failed with exit status: 1

  * The next diffutils release tarball should be usable.

From ba08fbbb0ca5da455bf695236c57bc50e7faed50 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Fri, 10 Feb 2023 15:33:40 -0800
Subject: diff: fix bug where -D does not work
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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.
---
 NEWS              |  5 +++++
 src/diff.c        |  2 +-
 tests/Makefile.am |  1 +
 tests/ifdef       | 37 +++++++++++++++++++++++++++++++++++++
 4 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100755 tests/ifdef

diff --git a/NEWS b/NEWS
index ad9c6cc..f146730 100644
--- a/NEWS
+++ b/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]
 
diff --git a/src/diff.c b/src/diff.c
index dd6f63b..2b4834f 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -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)
-- 
cgit v1.1