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