From 8e0b4648a613daa8a4f01a058a2a7ffb982eafcd Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 14 May 2004 07:34:09 +0000 Subject: Improve performance of `sort -m' on large files, at the cost of making some contrived examples unsafe. POSIX allows this optimization. Performance problem reported by Jonathan Baker in . (first_same_file): Do not treat input pipes differently from other files. --- src/sort.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/sort.c b/src/sort.c index a259ae974..6fcfc69d7 100644 --- a/src/sort.c +++ b/src/sort.c @@ -1878,9 +1878,7 @@ sortlines_temp (struct line *lines, size_t nlines, struct line *temp) } /* Return the index of the first of NFILES FILES that is the same file - as OUTFILE. If none can be the same, return NFILES. Consider an - input pipe to be the same as OUTFILE, since the pipe might be the - output of a command like "cat OUTFILE". */ + as OUTFILE. If none can be the same, return NFILES. */ static int first_same_file (char * const *files, int nfiles, char const *outfile) @@ -1910,7 +1908,7 @@ first_same_file (char * const *files, int nfiles, char const *outfile) ? fstat (STDIN_FILENO, &instat) : stat (files[i], &instat)) == 0) - && (S_ISFIFO (instat.st_mode) || SAME_INODE (instat, outstat))) + && SAME_INODE (instat, outstat)) return i; } -- cgit v1.2.3-70-g09d2