Hi, Patch uses a global variable 'canonicalize' as part of its implementation of the --ignore-whitespace flag.
In glibc there is a function canonicalize(): https://www.gnu.org/software/libc/manual/html_node/FP-Bit-Twiddling.html#index-canonicalize Attached is a patch to rename the global variable so that it will not conflict. Original bug report: https://bugzilla.redhat.com/show_bug.cgi?id=1422463 Tim. */
diff -up patch-2.7.5/src/common.h.canonicalize patch-2.7.5/src/common.h
--- patch-2.7.5/src/common.h.canonicalize 2015-02-28 16:02:30.000000000 +0000
+++ patch-2.7.5/src/common.h 2017-02-22 09:05:49.506719583 +0000
@@ -111,7 +111,7 @@ XTERN bool reverse;
XTERN enum { DEFAULT_VERBOSITY, SILENT, VERBOSE } verbosity;
XTERN bool skip_rest_of_patch;
XTERN int strippath;
-XTERN bool canonicalize;
+XTERN bool canonicalize_ws;
XTERN int patch_get;
XTERN bool set_time;
XTERN bool set_utc;
diff -up patch-2.7.5/src/merge.c.canonicalize patch-2.7.5/src/merge.c
--- patch-2.7.5/src/merge.c.canonicalize 2017-02-22 09:06:00.069693079 +0000
+++ patch-2.7.5/src/merge.c 2017-02-22 09:06:12.730661314 +0000
@@ -541,7 +541,7 @@ context_matches_file (lin old, lin where
line = ifetch (where, false, &size);
return size &&
- (canonicalize ?
+ (canonicalize_ws ?
similar (pfetch (old), pch_line_len (old), line, size) :
(size == pch_line_len (old) &&
memcmp (line, pfetch (old), size) == 0));
diff -up patch-2.7.5/src/patch.c.canonicalize patch-2.7.5/src/patch.c
--- patch-2.7.5/src/patch.c.canonicalize 2015-03-07 00:34:20.000000000 +0000
+++ patch-2.7.5/src/patch.c 2017-02-22 09:05:49.507719581 +0000
@@ -921,7 +921,7 @@ get_some_switches (void)
patchname = xstrdup (optarg);
break;
case 'l':
- canonicalize = true;
+ canonicalize_ws = true;
break;
#ifdef ENABLE_MERGE
case 'm':
@@ -1684,7 +1684,7 @@ patch_match (lin base, lin offset, lin p
for (iline=base+offset+prefix_fuzz; pline <= pat_lines; pline++,iline++) {
p = ifetch (iline, offset >= 0, &size);
- if (canonicalize) {
+ if (canonicalize_ws) {
if (!similar(p, size,
pfetch(pline),
pch_line_len(pline) ))
diff -up patch-2.7.5/src/pch.c.canonicalize patch-2.7.5/src/pch.c
--- patch-2.7.5/src/pch.c.canonicalize 2015-03-07 00:34:20.000000000 +0000
+++ patch-2.7.5/src/pch.c 2017-02-22 09:05:49.507719581 +0000
@@ -1409,7 +1409,7 @@ another_hunk (enum diff difftype, bool r
change_line:
s = buf + 1;
chars_read--;
- if (*s == '\n' && canonicalize) {
+ if (*s == '\n' && canonicalize_ws) {
strcpy (s, " \n");
chars_read = 2;
}
@@ -1477,7 +1477,7 @@ another_hunk (enum diff difftype, bool r
case ' ':
s = buf + 1;
chars_read--;
- if (*s == '\n' && canonicalize) {
+ if (*s == '\n' && canonicalize_ws) {
strcpy (s, "\n");
chars_read = 2;
}
signature.asc
Description: This is a digitally signed message part
