From 264b60b3ba542c7fafcc64397252a847e8034a60 Mon Sep 17 00:00:00 2001 From: Chris Roberts Date: Tue, 9 Aug 2016 18:34:58 +0300 Subject: gcc2 fixes diff --git a/src/dir.c b/src/dir.c index 734603e..551c0fe 100644 --- a/src/dir.c +++ b/src/dir.c @@ -265,6 +265,7 @@ diff_dirs (struct comparison const *cmp, /* Loop while files remain in one or both dirs. */ while (*names[0] || *names[1]) { + int v1; /* Compare next name in dir 0 with next name in dir 1. At the end of a dir, pretend the "next name" in that dir is very large. */ @@ -305,7 +306,7 @@ diff_dirs (struct comparison const *cmp, } } - int v1 = (*handle_file) (cmp, + v1 = (*handle_file) (cmp, 0 < nameorder ? 0 : *names[0]++, nameorder < 0 ? 0 : *names[1]++); if (val < v1) @@ -363,7 +364,8 @@ find_dir_file_pathname (char const *dir, char const *file) match = file; /* longjmp may mess up MATCH. */ else { - for (char const **p = dirdata.names; *p; p++) + char const **p; + for (p = dirdata.names; *p; p++) if (compare_names (*p, file) == 0) { if (file_name_cmp (*p, file) == 0) diff --git a/src/io.c b/src/io.c index 6c03c70..5705101 100644 --- a/src/io.c +++ b/src/io.c @@ -281,6 +281,8 @@ find_and_hash_each_line (struct file_data *current) size_t column = 0; while ((c = *p++) != '\n') { + size_t repetitions = 1; + if (ig_white_space & IGNORE_TRAILING_SPACE && isspace (c)) { @@ -295,8 +297,6 @@ find_and_hash_each_line (struct file_data *current) while (isspace (c1)); } - size_t repetitions = 1; - if (ig_white_space & IGNORE_TAB_EXPANSION) switch (c) { diff --git a/src/util.c b/src/util.c index 4f4d9bb..cddec11 100644 --- a/src/util.c +++ b/src/util.c @@ -580,7 +580,7 @@ parse_diff_color (void) int ind_no; /* Indicator number */ char label[3]; /* Indicator label */ struct color_ext_type *ext; /* Extension we are working on */ - + enum parse_state state = PS_START; if ((p = color_palette) == NULL || *p == '\0') return; @@ -593,7 +593,6 @@ parse_diff_color (void) advance. */ buf = color_buf = xstrdup (p); - enum parse_state state = PS_START; while (true) { switch (state) -- 2.19.1 From dc949e176ac2be4716680d799141a327a594fded Mon Sep 17 00:00:00 2001 From: fbrosson Date: Sun, 21 Aug 2016 05:35:54 +0000 Subject: additional gcc2 patch for diffutils-3.5. diff --git a/src/diff3.c b/src/diff3.c index ec414a9..59eebcd 100644 --- a/src/diff3.c +++ b/src/diff3.c @@ -264,6 +264,7 @@ main (int argc, char **argv) char *commonname; char **file; struct stat statb; + char *b0, *b1; exit_failure = EXIT_TROUBLE; initialize_main (&argc, &argv); @@ -415,7 +416,6 @@ main (int argc, char **argv) /* Invoke diff twice on two pairs of input files, combine the two diffs, and output them. */ - char *b0, *b1; commonname = file[rev_mapping[FILEC]]; thread1 = process_diff (file[rev_mapping[FILE1]], commonname, &last_block, &b1); thread0 = process_diff (file[rev_mapping[FILE0]], commonname, &last_block, &b0); -- 2.19.1 From e42bf41db1daa4ea086e121e48557c46ff4f0858 Mon Sep 17 00:00:00 2001 From: fbrosson Date: Sun, 21 Aug 2016 05:35:54 +0000 Subject: replace /usr/bin/perl by /bin/perl in man/help2man. diff --git a/man/help2man b/man/help2man index 304985c..b6ed40b 100755 --- a/man/help2man +++ b/man/help2man @@ -1,4 +1,4 @@ -#!/usr/bin/perl -w +#!/bin/perl -w # Generate a short man page from --help and --version output. # Copyright (C) 1997-2005, 2009-2011, 2013, 2015-2018 Free Software Foundation, -- 2.19.1 From 7f7d8250c31613f5f11533685290d7ac93e45e95 Mon Sep 17 00:00:00 2001 From: Jerome Duval Date: Sat, 23 Mar 2019 17:39:40 +0100 Subject: gcc2 patch for version 3.7. diff --git a/lib/diffseq.h b/lib/diffseq.h index 9244729..c54b54c 100644 --- a/lib/diffseq.h +++ b/lib/diffseq.h @@ -200,6 +200,7 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal, OFFSET c; /* Cost. */ bool odd = (fmid - bmid) & 1; /* True if southeast corner is on an odd diagonal with respect to the northwest. */ + bool heuristic; fd[fmid] = xoff; bd[bmid] = xlim; @@ -279,9 +280,9 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal, continue; #ifdef USE_HEURISTIC - bool heuristic = ctxt->heuristic; + heuristic = ctxt->heuristic; #else - bool heuristic = false; + heuristic = false; #endif /* Heuristic: check occasionally for a diagonal that has made lots diff --git a/lib/filenamecat-lgpl.c b/lib/filenamecat-lgpl.c index f50ecc1..fc2741c 100644 --- a/lib/filenamecat-lgpl.c +++ b/lib/filenamecat-lgpl.c @@ -46,6 +46,8 @@ char * mfile_name_concat (char const *dir, char const *base, char **base_in_result) { + char *p_concat; + char *p; char const *dirbase = last_component (dir); size_t dirbaselen = base_len (dirbase); size_t dirlen = dirbase - dir + dirbaselen; @@ -67,8 +69,7 @@ mfile_name_concat (char const *dir, char const *base, char **base_in_result) sep = '.'; } - char *p_concat = malloc (dirlen + (sep != '\0') + baselen + 1); - char *p; + p_concat = malloc (dirlen + (sep != '\0') + baselen + 1); if (p_concat == NULL) return NULL; diff --git a/lib/mktime.c b/lib/mktime.c index 9c3fb20..a344bb4 100644 --- a/lib/mktime.c +++ b/lib/mktime.c @@ -271,6 +271,9 @@ static struct tm * ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), long_int *t, struct tm *tp) { + long_int bad; + long_int ok; + struct tm oktm; long_int t1 = (*t < mktime_min ? mktime_min : *t <= mktime_max ? *t : mktime_max); struct tm *r = convert_time (convert, t1, tp); @@ -282,9 +285,9 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), if (errno != EOVERFLOW) return NULL; - long_int bad = t1; - long_int ok = 0; - struct tm oktm; oktm.tm_sec = -1; + bad = t1; + ok = 0; + oktm.tm_sec = -1; /* BAD is a known out-of-range value, and OK is a known in-range one. Use binary search to narrow the range between BAD and OK until @@ -366,6 +369,8 @@ __mktime_internal (struct tm *tp, int negative_offset_guess; int sec_requested = sec; + long_int t0; + long_int t, t1, t2; if (LEAP_SECONDS_POSSIBLE) { @@ -381,18 +386,19 @@ __mktime_internal (struct tm *tp, time. */ INT_SUBTRACT_WRAPV (0, off, &negative_offset_guess); - long_int t0 = ydhms_diff (year, yday, hour, min, sec, + t0 = ydhms_diff (year, yday, hour, min, sec, EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, negative_offset_guess); - long_int t = t0, t1 = t0, t2 = t0; + t = t0, t1 = t0, t2 = t0; /* Repeatedly use the error to improve the guess. */ while (true) { + long_int dt; if (! ranged_convert (convert, &t, &tm)) return -1; - long_int dt = tm_diff (year, yday, hour, min, sec, &tm); + dt = tm_diff (year, yday, hour, min, sec, &tm); if (dt == 0) break; @@ -524,13 +530,15 @@ __mktime_internal (struct tm *tp, time_t mktime (struct tm *tp) { +# if defined _LIBC || NEED_MKTIME_WORKING + static mktime_offset_t localtime_offset; +#endif /* POSIX.1 8.1.1 requires that whenever mktime() is called, the time zone names contained in the external variable 'tzname' shall be set as if the tzset() function had been called. */ __tzset (); # if defined _LIBC || NEED_MKTIME_WORKING - static mktime_offset_t localtime_offset; return __mktime_internal (tp, __localtime_r, &localtime_offset); # else # undef mktime diff --git a/lib/regexec.c b/lib/regexec.c index c7d099c..00d171f 100644 --- a/lib/regexec.c +++ b/lib/regexec.c @@ -3346,12 +3346,13 @@ build_trtable (const re_dfa_t *dfa, re_dfastate_t *state) goto out_free; /* Avoid arithmetic overflow in size calculation. */ + { size_t ndests_max = ((SIZE_MAX - (sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX) / (3 * sizeof (re_dfastate_t *))); if (__glibc_unlikely (ndests_max < ndests)) goto out_free; - + } if (__libc_use_alloca ((sizeof (re_node_set) + sizeof (bitset_t)) * SBC_MAX + ndests * 3 * sizeof (re_dfastate_t *))) dest_states = (re_dfastate_t **) diff --git a/src/io.c b/src/io.c index 5705101..fe49ee4 100644 --- a/src/io.c +++ b/src/io.c @@ -487,10 +487,11 @@ prepare_text (struct file_data *current) if (strip_trailing_cr) { char *srclim = p + buffered; - *srclim = '\r'; char *dst = rawmemchr (p, '\r'); + char const *src; + *srclim = '\r'; - for (char const *src = dst; src != srclim; src++) + for (src = dst; src != srclim; src++) { src += *src == '\r' && src[1] == '\n'; *dst++ = *src; -- 2.19.1