Commit Graph

2618 Commits

Author SHA1 Message Date
Jim Meyering 1c71127370 (NONZERO): Define and use it to make the code a tiny
bit more readable.
2000-12-02 14:43:28 +00:00
Jim Meyering cc27b86c60 (main): Remove any trailing slash unconditionally.
Reported by Volker Borchert.
2000-12-02 13:20:37 +00:00
Jim Meyering acca4638b8 (skip, dd_copy): Use ssize_t to store result of
safe_read, to avoid overflow e.g. on 64-bit Solaris sparc.
(dd_copy): Remove unnecessary cast.
2000-12-02 08:19:21 +00:00
Jim Meyering e996c1bd77 Undo most of the changes since 2000-11-24, since we've
documented a standard way to do it.
(skip_bytes, seek_bytes): Remove.
(usage): Remove B suffix.
(scanargs, skip, dd_copy, main): Remove support for B suffix.
2000-12-02 08:12:56 +00:00
Jim Meyering 339738f351 s/SIZE_T_MAX/SIZE_MAX/. 2000-11-30 20:30:04 +00:00
Jim Meyering a48a4d5c63 Include <stdint.h> if HAVE_STDINT_H.
(SIZE_MAX): Renamed from SIZE_T_MAX, as C99 uses SIZE_MAX.
All uses changed.
2000-11-30 20:27:49 +00:00
Jim Meyering 835a8fa634 (SIZE_T_MAX): Define. 2000-11-30 11:39:08 +00:00
Jim Meyering d92f4ac85e Port GNU "sort" to hosts where sizes don't fit in "int",
e.g. 64-bit Solaris (sparc).

("human.h", "xstrtol.h"): Include.
(struct line): length member is now size_t, not int.
(struct lines): Likewise for used, alloc, limit members.
(struct buffer): Likewise for used, alloc, left, newline_free members.
(struct keyfield): Likewise for sword, schar, eword, echar members.
(sortalloc, mergealloc, linelength): Now size_t, not int.

(initbuf, fillbuf, initlines, begfield, limfield, findlines,
numcompare, getmonth, keycompare, compare, checkfp, mergefps,
sortlines, sort): Accept, return, and use size_t for sizes, not int.

(fillbuf, initlines, findlines, checkfp, sort): Check for overflow
when computing buffer sizes.

(begfield, limfield): Do not index past end of array.

(checkfp): Return a boolean, not a line number, as the line
number may not fit in int.  All callers changed.  Use
uintmax_t for line numbers, not int.

(sort): Don't allocate tmp until we need it (and know the right size).

(parse_field_count): New function.

(main): Use it to check for overflow in field counts.
"outfile" is now a pointer to const.
2000-11-30 11:33:49 +00:00
Jim Meyering 3083c30362 Include config.h, stdio.h, sys/types.h. and system.h here instead. 2000-11-26 23:13:11 +00:00
Jim Meyering 81ae3684cc Include config.h, stdio.h, sys/types.h. and system.h here instead. 2000-11-26 23:12:44 +00:00
Jim Meyering f8674300d4 don't include system.h here 2000-11-26 23:10:55 +00:00
Jim Meyering 459b44b03d (skip): Perform the `records < blocksize' test
at the top of the loop, not at the bottom.
2000-11-26 21:35:53 +00:00
Jim Meyering 297c469d6f (skip): New arg COUNT_BYTES. Read with BLOCKSIZE
bytes, but consider RECORDS to be a byte count if COUNT_BYTES
is nonzero.
2000-11-26 21:34:05 +00:00
Jim Meyering 8ee842a15b (skip_bytes, seek_bytes): Now booleans, not counts.
(seek_records): Renamed from seek_record, for consistency with
skip_records and max_records.  All uses changed.

(usage, scanargs): Remove bseek=n and bskip=n; instead, use seek=nB
and skip=nB.
(enum Unit, Unit): Remove.
(skip, dd_copy, main): Undo most recent change.
(dd_copy, main): Pass blocksize of 1 as appropriate when
skip_bytes or seek_bytes is nonzero.
(main): Rework ftruncate failure diagnostic to always use byte count.
2000-11-26 08:23:23 +00:00
Jim Meyering e3db837339 more post-merge clean-up.
Fix a merge bug exposed by new test.
2000-11-25 14:17:43 +00:00
Jim Meyering 019bdadfc9 remove bskip
adapt skip to skip either by bytes or by blocks
2000-11-25 08:54:58 +00:00
Jim Meyering 7d57b34196 (S_TYPEISSHM): New macro.
(main): Report failed fstat.
Complain only when ftruncate fails on a regular file,
a directory, or a shared memory object.
2000-11-25 07:20:51 +00:00
Jim Meyering c8a0eec3f6 bskip/bseek patch from Chris Sylvain <csylvain@umm.edu> merged in 2000-11-24 21:54:31 +00:00
Jim Meyering 3d6852f7fa Declare a pointer parameters to be `const' as appropriate. 2000-11-24 21:41:38 +00:00
Jim Meyering 1d250b6098 (main): Use ftruncate only on regular files.
Based on a patch from Michael Stone.
Reported by andras@kolumbus.fi at http://bugs.debian.org/77174.
2000-11-24 21:18:51 +00:00
Jim Meyering 9a4e9f426c (show_point): Before accepting an entry as a match, make sure that
the mount directory exists and has the required device number.
Before, e.g., `df /floppy' would mistakenly report on the root
partition if /floppy were not listed in /etc/mtab but / was.
Patch from Eirik Fuller (http://bugs.debian.org/76923).
2000-11-23 15:36:58 +00:00
Jim Meyering 6202e79712 (mode_changed): New function.
(change_file_mode): Use it to determine accurately when -c should
make chmod announce there's been a change.
2000-11-23 15:04:17 +00:00
Jim Meyering f2f5e30bc2 (main): Do not assume EOF == -1.
Handle the case correctly when digits options immediately precede a
non-option.
2000-11-19 15:15:38 +00:00
Jim Meyering 6c1ee8402c (BLOCK_SIZE_OPTION, COLOR_OPTION, FORMAT_OPTION,
INDICATOR_STYLE_OPTION, QUOTING_STYLE_OPTION,
SHOW_CONTROL_CHARS_OPTION, SORT_OPTION, TIME_OPTION): New enum
values, to ensure that option values can't collide with chars.
(long_options, decode_switches): Use them.
2000-11-19 07:44:26 +00:00
Jim Meyering aba2a0fd6d (GETOPT_HELP_CHAR, GETOPT_VERSION_CHAR): Now enum
constants rather than macros.  Use values that cannot conflict
with C characters or with -1, CHAR_MAX + 1, etc.
2000-11-19 07:41:20 +00:00
Jim Meyering 6447e5b997 (count_entry): Don't omit the size of a directory entry
merely because we couldn't `chdir' into it.  That would give subtly
different results in some cases.  Reported by Mattias Wadenstein
via Michael Stone.
2000-11-18 20:01:02 +00:00
Jim Meyering e5aacbc6ea Revert change of 2000-11-11. It inadvertently change
the output format of `ls -l --full-time'.
2000-11-18 19:43:15 +00:00
Jim Meyering 8bbc00b147 (main): When failing to create a directory, give only
one diagnostic, not two.  Reported by Volker Borchert.
2000-11-18 13:49:44 +00:00
Jim Meyering caf54306a3 (main): With --parents, remove any trailing slashes
from the argument to the final mkdir call.  Required for NetBSD.
2000-11-18 13:36:24 +00:00
Jim Meyering 40af3c54b6 revert mysteriously-applied last delta! 2000-11-18 13:10:40 +00:00
Jim Meyering f15c4ee154 Declare global `tab' to be of type *unsigned* char,
so join works with 8-bit delimiter characters.
2000-11-17 10:16:53 +00:00
Jim Meyering 7daa83a149 Explicitly include sys/types.h before including system.h. 2000-11-17 08:31:01 +00:00
Jim Meyering 1f789a22a2 Include sys/types.h before system.h. 2000-11-16 19:34:23 +00:00
Jim Meyering 5b85894325 Declare global `tab' to be of type *unsigned* char,
so join works with 8-bit delimiter characters.
Reported by Antonio Rendas.
2000-11-16 14:19:27 +00:00
Jim Meyering 2c6fbbea7a (ST_TIME_CMP_NS): Fix typo: ST_MTIM_NSEC should
be tested with #ifdef, not with #if.
2000-11-13 19:33:32 +00:00
Jim Meyering adcacc9417 (print_long_format): Remove obsolete comment (strftime vs. ctime).
From Paul Eggert.
2000-11-12 15:19:21 +00:00
Jim Meyering 8fc17df678 (show_date): Add a comment explaining why the
format string must not be translatable via _().  From Paul Eggert.
2000-11-12 10:02:29 +00:00
Jim Meyering 1ff67f6c5c (<langinfo.h>): Include if HAVE_LANGINFO_H.
(DATE_FMT_LANGINFO): New macro, taken from sh-utils/src/date.c.
(print_long_format): Use it to determine "date" format.
Do not wrap "%b %e %Y" and "%b %e %H:%M" in _(), as it results in
incorrect behavior when LC_ALL is unset, LC_TIME is "C", and
LC_MESSAGES or LANG is set to something disagreeing with the POSIX
locale.
2000-11-12 09:48:14 +00:00
Jim Meyering cd7e157b45 (print_long_format): Wrap the --full-time' date format
string in _(...), so it too may be internationalized.
Suggestion from Jungshik Shin.
2000-11-11 07:51:07 +00:00
Jim Meyering b3324ca196 (main): Interpret a lone numeric argument of 8 or 10
digits as a file name, rather than as a date/time in the obsolescent
`MMDDhhmm[YY]' format.  Reported by Wenjun Zheng.
2000-11-10 18:54:19 +00:00
Jim Meyering 445485d9b8 Do not set the permissions of the final directory
component if it was not just created.
Based on a patch from Volker Borchert.
2000-11-09 22:21:59 +00:00
Jim Meyering c08ca675ac (print_header): Mark strings for translation. 2000-11-06 13:10:33 +00:00
Jim Meyering 0e4c958fb8 (skip): st_size is not defined for directories. 2000-11-06 10:24:21 +00:00
Jim Meyering 9b18c35ac9 (main): Use make_dir instead of using mkdir directly.
Diagnose as failure when mkdir tries to create (without the
--parent (-p) option) a directory that already exists.
2000-11-05 15:14:09 +00:00
Jim Meyering 50326157d9 remove const attribute for PARENTS 2000-11-01 17:53:35 +00:00
Jim Meyering 9e9f0846f8 Fix bad typo! free the string, PARENTS, not the function, dir_name. 2000-11-01 17:52:43 +00:00
Jim Meyering 02080dd37e (main): Better diagnostics. 2000-11-01 17:33:09 +00:00
Jim Meyering c8da0cbba6 `mkdir -p' would create parent directories with permissions
that did not account for the umask. [introduced with the
2000-09-30 change that became part of fileutils-4.0.28]

Include dirname.h.
Compute the parent directory `mode' unconditionally, effectively
as `$(umask -S),u+wx'.
Use make_path to create only the parent directories, thus using
the same code, both with and without -p, to create the final
component in each file name.  Reported by Bob Proulx.
2000-10-31 19:25:50 +00:00
Jim Meyering ad3a1fbb82 Include "system.h" after wctype.h (not before) to avoid
a compilation error on Solaris 5.5.1 systems.
2000-10-30 15:58:59 +00:00
Jim Meyering 78abfe5da3 (do_copy): When constructing dst_path for use with the
--parents option, first remove any trailing slashes from the command
line argument.  Otherwise, tests/cp/cp-parent would fail on NetBSD.
2000-10-29 12:25:03 +00:00