summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2001-03-03(libfetish_a_SOURCES): Add dup-safer.c, fopen-safer.c.Jim Meyering
(noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
2001-03-03*** empty log message ***Jim Meyering
2001-03-03from Paul EggertJim Meyering
2001-03-03*** empty log message ***Jim Meyering
2001-03-03(initbuf): If the desired size cannot beJim Meyering
allocated, repeatedly halve it until allocation succeeds.
2001-03-03(parse_field_count): Comment fix.Jim Meyering
2001-03-03.Jim Meyering
2001-03-03*** empty log message ***Jim Meyering
2001-03-03Tune allocation and comparison of nodesJim Meyering
representing temp files. This improved CPU performance of 'sort -S 1 *.[ch]' by 17% on my host. (struct tempnode): name member now uses struct hack. (temphead): Now a pointer, not a structure. All uses changed. (create_temp_file): Allocate node using struct hack. (zaptemp): Free node using struct hack. Use pointer comparison, not string comparison.
2001-03-02(eolchar, trim_trailing_blanks): Now static.Jim Meyering
2001-03-02*** empty log message ***Jim Meyering
2001-03-02*** empty log message ***Jim Meyering
2001-03-02(jm_MACROS): Use mkstemp replacement if the systemJim Meyering
lacks mkstemp. Compile our own tempname.c if we compile our own mkstemp.c, as mkstemp relies on tempname.
2001-03-02from GNU libcJim Meyering
2001-03-02from GNU libcJim Meyering
2001-03-02*** empty log message ***Jim Meyering
2001-03-02.Jim Meyering
2001-03-02*** empty log message ***Jim Meyering
2001-03-02'sort' race condition fixes.Jim Meyering
Defend against a DoS attack where someone else creates a temporary file with the same name as ours. Use mkstemp to do this, supplying our own mkstemp if the system doesn't have one. Also, fix a race condition during cleanup on hosts without sigaction. (NAME_MAX_IN_DIR): Remove. (sigprocmask, sigset_t): New macros, defined only on older hosts. (caught_signals): New var. (xtmpfopen, tempname): Removed. (create_temp_file): New function, combining the functions of the old xtmpfopen and tempname. All callers changed. Use mkstemp to create the file. (sighandler): On hosts without sigaction, ignore signals while cleaning up, instead of letting them interrupt cleanup. (main): Initialize caught_signals. On hosts with sigaction, block all caught signals while handling one. Remove duplicate code.
2001-03-01*** empty log message ***Jim Meyering
2001-03-01(jm_AC_DOS): Remove extra backslashes, now thatJim Meyering
AH_VERBATIM really does output its argument verbatim.
2001-02-25*** empty log message ***Jim Meyering
2001-02-25Fix typo: '-d=1may' -> '-d 1may'.Jim Meyering
Fix and clarify time zone usage in 'date' examples.
2001-02-23*** empty log message ***Jim Meyering
2001-02-22(keycompare): Move declarations of locals, lena and lenb,Jim Meyering
into the inner scope where they are used.
2001-02-21(main): Remove assignment-in-if-expression.Jim Meyering
In fact, remove t_errno altogether.
2001-02-21*** empty log message ***Jim Meyering
2001-02-21Add two tests of existing behavior -- both willJim Meyering
have to be changed (soon after release), once ls is fixed.
2001-02-20.Jim Meyering
2001-02-20test for existing behaviorJim Meyering
2001-02-20.Jim Meyering
2001-02-20*** empty log message ***Jim Meyering
2001-02-20(FULL_TIME_OPTION): Renamed from FULL_TIME, forJim Meyering
consistency with the other enum values.
2001-02-20(SI_OPTION): New enum value.Jim Meyering
(long_options): Use it instead of 'H' for --si. (decode_switches): Warn that -H will change soon. (usage): Likewise.
2001-02-20revert last change, until after releaseJim Meyering
2001-02-20*** empty log message ***Jim Meyering
2001-02-20revert last change, until after the releaseJim Meyering
2001-02-20`ls -Fd symlink-to-directory' would print a trailing `/'Jim Meyering
Now it prints a trailing `@'. (gobble_file): Don't clobber lstat stats of command line arguments when using -d and -F (--directory and --classify) options.
2001-02-19*** empty log message ***Jim Meyering
2001-02-19(AUTHORS): Add Paul Eggert.Jim Meyering
2001-02-19*** empty log message ***Jim Meyering
2001-02-19Fix a race condition: freed storage accessed during a signal handler.Jim Meyering
(struct tempnode.next): Now volatile. (zaptemp): Free the file name after removing it from the temp list, not before, because a signal can arrive between the two actions and cleanup () traverses the list.
2001-02-19*** empty log message ***Jim Meyering
2001-02-19(jm_CHECK_ALL_HEADERS): Check for sys/resource.h.Jim Meyering
2001-02-19*** empty log message ***Jim Meyering
2001-02-19Check for input size, and do not overallocate memory.Jim Meyering
Also check for memory quotas. Revamp storage management so that line tables and character data are taken from the same buffer. Line tables are now in reverse order, since they grow down while the character data grow up. (<sys/resource.h>): Include if HAVE_SYS_RESOURCE_H. (struct rlimit, getrlimit): Define a replacement if RLIMIT_DATA is not defined. (RLIMIT_AS): Define to RLIMIT_DATA if not defined. (struct lines): Remove. (struct buffer): New members nlines, line_bytes, eof. Remove member newline_free; no longer needed, since the code no longer runs out of line table space. (SORTALLOC_MIN, SORTALLOC_DEFAULT_MIN): Remove. (sort_size): Renamed from sortalloc; now applies to the sum of the character data and the line table, not just the character data. (MIN_SORT_SIZE, INPUT_FILE_SIZE_GUESS): New macros. (linelength): remove. (specify_sort_size): Don't worry about the distinction between the character data and the line table; that is now the caller's responsibility. (default_sort_size): Return the value, instead of being executed for side effect. Return half of available memory, or 1/16 of total memory, whichever is greater; except do not exceed 1/2 of quota. (sort_buffer_size): New function. (initbuf): New arg LINE_BYTES. Ensure that the line array is properly aligned. Initialize the new set of struct buffer members. (buffer_linelim): New function. (fillbuf): Return int, not size_t, since the callers merely care whether the result is nonzero. New arg FILE so that error messages can report the file name. Keep track of eof. Initialize the line table too, taking its memory from the input buffer's memory; this subsumes the old findlines function and removes the need for worrying about running out of line table entries. (checkfp, mergefps, sortlines, merge, sort): Adjust to the new storage management regime, in particular the fact that line tables are now filled in by fillbuf and are in reverse order. (checkfp): Now takes char *, not const char *, since subroutines require that now. Rewrite to avoid lint and duplicate code. If line length alloc calculation overflows, simply allocate enough memory to hold the line. (mergefps): New arg FILES, used for buffer size calculation and error messages. Rewrite to avoid lint. Do not loop if savealloc*2 overflows. (mergefps, merge): Zap temporary files eagerly rather than lazily; this is needed because we now pass FILES to mergefps. (sortlines): Args now point at end of arrays, not at beginnings. (sort): Do not allocate temporary line array for sortlines; instead, take the space from the same buffer. (main): Adjust to sort_size and default_sort_size changes.
2001-02-19*** empty log message ***Jim Meyering
2001-02-19(wc): Rename innermost `buf' to avoid shadowing warning.Jim Meyering
(wc): Rename local `wc' to avoid shadowing function name.
2001-02-18*** empty log message ***Jim Meyering
2001-02-18(TESTS): Add isatty.Jim Meyering