From: Jim Meyering Date: Mon, 21 Jan 2002 22:00:32 +0000 (+0000) Subject: (compare_files): Don't assume that the difference X-Git-Tag: TEXTUTILS-2_0_20~39 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0199f37303fb72d0eb92e17e1817bf403783e555;p=thirdparty%2Fcoreutils.git (compare_files): Don't assume that the difference between two size_t values can be stored in an int; this doesn't work, for example, on 64-bit Solaris. --- diff --git a/src/comm.c b/src/comm.c index 183ce35b17..568968fd16 100644 --- a/src/comm.c +++ b/src/comm.c @@ -1,5 +1,5 @@ /* comm -- compare two sorted files line by line. - Copyright (C) 86, 90, 91, 1995-2001 Free Software Foundation, Inc. + Copyright (C) 86, 90, 91, 1995-2002 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -186,7 +186,9 @@ compare_files (char **infiles) size_t len = min (thisline[0]->length, thisline[1]->length) - 1; order = memcmp (thisline[0]->buffer, thisline[1]->buffer, len); if (order == 0) - order = thisline[0]->length - thisline[1]->length; + order = (thisline[0]->length < thisline[1]->length + ? -1 + : thisline[0]->length != thisline[1]->length); } }