aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2021-07-31 11:14:43 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2021-07-31 11:17:18 -0700
commitffbd64ec867875d4f7fdc504dfba640e11cf1c98 (patch)
tree524446ef7758097a5b15a3f1a4a471bb343fb2a9
parentnumfmt: omit unnecessary pointer test (diff)
downloadcoreutils-ffbd64ec867875d4f7fdc504dfba640e11cf1c98.tar.gz
coreutils-ffbd64ec867875d4f7fdc504dfba640e11cf1c98.zip
uniq: pacify GCC -fanalyzer
Pacify GCC 11.1 -fanalyzer. * src/uniq.c (check_file): Use simpler test to check whether this is the first time through the loop. Although the old test was correct, the new one is easier to understand and perhaps a tiny bit more efficient.
-rw-r--r--src/uniq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/uniq.c b/src/uniq.c
index 8963e94b9..8f6e97352 100644
--- a/src/uniq.c
+++ b/src/uniq.c
@@ -352,7 +352,7 @@ check_file (char const *infile, char const *outfile, char delimiter)
*/
if (output_unique && output_first_repeated && countmode == count_none)
{
- char *prevfield IF_LINT ( = NULL);
+ char *prevfield = NULL;
size_t prevlen IF_LINT ( = 0);
bool first_group_printed = false;
@@ -368,7 +368,7 @@ check_file (char const *infile, char const *outfile, char delimiter)
thisfield = find_field (thisline);
thislen = thisline->length - 1 - (thisfield - thisline->buffer);
- new_group = (prevline->length == 0
+ new_group = (!prevfield
|| different (thisfield, prevfield, thislen, prevlen));
if (new_group && grouping != GM_NONE