summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2004-11-13Avoid O(N**2) behavior when there are many temporary files.Paul Eggert
(temptail): New variable, so that we can easily append to list. (create_temp_file): Create new files at end of list, so that searching the list has O(N**NMERGE) behavior instead of O(N**2). (zaptemp): Update temptail if needed. (mergefps, merge): Accept new arg that counts temp files, and keep it up to date as we create and remove temporaries. This is for efficiency, so that we don't call zaptemp so often. All callers changed. (sort): Don't create array in reverse order, since the list of temporaries is now in the correct order. (zaptemp): Protect against race condition: if 'sort' is interrupted in the middle of zaptemp, it might unlink the temporary file twice, and the second time this happens the file might already have been created by some other process. (create_temp_file): Use offsetof for clarity. (die): Move it up earlier, to clean up the code a bit.
2004-11-12Move "Version" to top.Paul Eggert
2004-11-12Support longer page numbers in "pr", and allow most file names startingPaul Eggert
with "+".
2004-11-12Document recent changes to "pr".Paul Eggert
2004-11-12(strtoumax): Declare if not declared.Paul Eggert
(skip_to_page, first_page_number, last_page_number, page_number, first_last_page, print_header): Use uintmax_t for page numbers. (first_last_page): Remove unnecessary forward declaration. Do not modify arg (it is now a const pointer). Return a true if successful, false (without print a diagnostic) otherwise. (main): If +XXX does not specify a valid page range, treat it as a file name. This follows the response to Open Group XCU ERN 41 <http://www.opengroup.org/sophocles/show_mail.tpl?source=L&listname=austin-group-l&id=7717>, which says the behavior is allowed. (skip_to_page): When starting page number exceeds page count, print both numbers in the diagnostic. (print_header): Detect page number overflow.
2004-11-12Sync from gnulib and regenerate.Paul Eggert
2004-11-11remove trailing blanksJim Meyering
2004-11-11Sync from gnulib.Paul Eggert
2004-11-11Sync from gnulib.Paul Eggert
2004-11-10*** empty log message ***Jim Meyering
2004-11-09Sync from gnulib.Paul Eggert
2004-11-09*** empty log message ***Jim Meyering
2004-11-09[__APPLE__]: Include <mach/machine.h> and <mach-o/arch.h>.Jim Meyering
(main) [__APPLE__]: Get the processor type via syscall rather than hard-coding "powerpc". From toby@opendarwin.org.
2004-11-07*** empty log message ***Jim Meyering
2004-11-07(merge): Remove declarations of now-unused variables.Jim Meyering
2004-11-06* src/sort.c: Avoid some silly merges.Paul Eggert
2004-11-06(first_same_file): Remove. Move most of the code to....Paul Eggert
(avoid_trashing_input): New function. (merge): Avoid some silly merges, e.g., copying a single file to a temporary file when there are exactly 17 input files to merge. Take a count of temporary files rather than a max_merge arg. All uses changed.
2004-11-06.Jim Meyering
2004-11-06remove now-unused filesJim Meyering
2004-11-06.Jim Meyering
2004-11-06(libfetish_a_SOURCES): Remove __fpending.h, now that it's no longer used.Jim Meyering
2004-11-06.Jim Meyering
2004-11-06remove now-unused fileJim Meyering
2004-11-06Don't require gl_FUNC_FPENDING.Jim Meyering
2004-11-06*** empty log message ***Jim Meyering
2004-11-06Ensure that no close failure goes unreported.Jim Meyering
(close_stdout): Always close stdout. I.e., don't return early when it seems there's nothing to flush. Don't include __fpending.h.
2004-11-06(xfclose): Don't close stdout here (just flush it),Jim Meyering
since close_stdout now closes stdout unconditionally.
2004-11-05* src/sort.c: Fixx size_t and alloca bugs.Paul Eggert
2004-11-05(inittables, sort_buffer_size, getmonth, mergefps,Paul Eggert
first_same_file, merge, sort, main): Use size_t for indexes into arrays. This fixes some unlikely havoc-wreaking bugs (e.g., more than INT_MAX temporary files). (getmonth, keycompare, compare): Rewrite to avoid need for alloca, thus avoiding unchecked stack overflow in some cases. As a side effect this improve the performance of "sort -M" by a factor of 4 on my benchmarks.
2004-11-04Regenerate.Paul Eggert
2004-11-03remove trailing spacesJim Meyering
2004-11-03Log recent getdate-etc. related changes.Paul Eggert
2004-11-03Sync from gnulib.Paul Eggert
2004-11-03Include "vasprintf.h" since we use vasprintf now.Paul Eggert
2004-11-03Sync from gnulib.Paul Eggert
2004-11-03(check-AUTHORS): Don't assume \? works in a sedPaul Eggert
expression; it's not portable. Problem reported by Albert Chin. Don't invoke a program more than once.
2004-11-03(version): New variable, containing author info,Paul Eggert
for benefit of AUTHORS check. Use it when acting on --version option.
2004-11-03Remove duplicate lines. Remove bogus "chroot:" in groups line.Paul Eggert
2004-11-03(libfetish_a_SOURCES): Remove setenv.c.Paul Eggert
2004-11-03New file, from gnulib.Paul Eggert
2004-11-03(gl_PREREQ): Require gt_FUNC_SETENV.Paul Eggert
2004-11-03.Jim Meyering
2004-11-03.Jim Meyering
2004-11-03Don't #define and #undef getopt around <stdlib.h>,Paul Eggert
as this breaks the new regime that does "#define getopt rpl_getopt".
2004-11-03* Makefile.am (_W, W_): New macros.Paul Eggert
2004-11-03(_W, W_): New macros.Paul Eggert
(check-texinfo): Use them instead of assuming grep -w (which is not portable). Problem reported by Albert Chin.
2004-11-03(libfetish_a_SOURCES): Add setenv.c and setenv.h.Jim Meyering
2004-11-03remove trailing blanksJim Meyering
2004-11-03*** empty log message ***Jim Meyering
2004-11-03quote(...) file names in diagnostics.Jim Meyering