Jim Meyering [Sun, 9 May 1999 03:27:24 +0000 (03:27 +0000)]
(fraccompare, numcompare): Merge the NLS and
non-NLS versions into a single function.
(decimal_point): Now char, since we no longer convert to unsigned char.
(th_sep): Now int, since we use a value out of char range to denote
the absence of a thousands separator.
(IS_THOUSANDS_SEP): New macro.
(USE_NEW_FRAC_COMPARE): Remove.
(nls_set_fraction): Arg is now char, not unsigned char.
Set th_sep to CHAR_MAX + 1 if there is no thousands separator.
(numcompare): Don't convert to unsigned char unless necessary.
(main): Turn off decimal points and thousand separators if they
are multibyte characters, as we don't support that yet.
Jim Meyering [Sat, 8 May 1999 23:29:47 +0000 (23:29 +0000)]
* src/system.h (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM,
and all the *_MIN and *_MAX symbols): Remove definitions.
* src/sys2.h: Put the definitions here instead (this file is shared
between all three *utils packages, while system.h is not).
Jim Meyering [Sat, 8 May 1999 23:28:42 +0000 (23:28 +0000)]
* src/system.h (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM,
and all the *_MIN and *_MAX symbols): Remove definitions.
* src/sys2.h: Put the definitions here instead (this file is shared
between all three *utils packages, while system.h is not).
Jim Meyering [Fri, 7 May 1999 18:40:11 +0000 (18:40 +0000)]
(main): Use better wording in diagnostic: `cannot
create directory' rather than `cannot make directory'. The former
also matches the one in makepath.c.
Jim Meyering [Thu, 6 May 1999 02:10:34 +0000 (02:10 +0000)]
(make_dir): When reporting a mkdir failure and the
target cannot be `stat'ed, use the errno from the failed mkdir call,
not the one from the stat call. Before this change, running
`mkdir -p /no-dir/no-dir' as an unprivileged user would wrongly
elicit `No such file or directory' instead of `Permission denied'.
Jim Meyering [Wed, 5 May 1999 13:34:02 +0000 (13:34 +0000)]
Add definitions to help read utmpx on systems with utmpname.
(UTMP_NAME_FUNCTION): Define.
(SET_UTMP_ENT): Likewise.
(GET_UTMP_ENT): Likewise.
(END_UTMP_ENT): Likewise.
Jim Meyering [Wed, 5 May 1999 13:21:29 +0000 (13:21 +0000)]
(TYPE_SIGNED, TYPE_MAXIMUM, TYPE_MINIMUM): Define.
(ULONG_LONG_MAX, LONG_LONG_MAX, LONG_LONG_MIN): Define if not defined.
Based on a patch from Kaveh Ghazi.
Jim Meyering [Wed, 5 May 1999 13:12:28 +0000 (13:12 +0000)]
(USE_ACL): Define this only #if
(HAVE_SYS_ACL_H && HAVE_ACL && defined GETACLCNT).
Use `USE_ACL' in place of `HAVE_ACL' everywhere else. From Kaveh Ghazi.
Jim Meyering [Wed, 5 May 1999 03:05:11 +0000 (03:05 +0000)]
Include makepath.h libintl.h, not after it.
Otherwise, we'd get the wrong definition of PARAMS from libintl.h.
(The method of defining PARAMS in libintl.h doesn't check PROTOTYPES,
which is necessary on Irix4 since cc doesn't define __STDC__.)
From Kaveh Ghazi.
Jim Meyering [Tue, 4 May 1999 18:46:06 +0000 (18:46 +0000)]
(usage): Break the usage message into 3 pieces instead of
only 2. The strings had grown to be longer than 2048, which evokes
errors when compiling with Irix4's cc.
Jim Meyering [Mon, 3 May 1999 18:01:49 +0000 (18:01 +0000)]
<ctype.h>: Don't include.
[!STDC_HEADERS]: Remove definitions of ctype macros.
Convert e.g., isspace to ISSPACE to use definitions from sys2.h.
Reported by Kaveh Ghazi.
Jim Meyering [Sat, 1 May 1999 04:33:45 +0000 (04:33 +0000)]
Define several tag-related make variables.
(cvs-dist): Use the make variables instead of shell ones.
(announcement): Automatically generate diffs for all ChangeLog files,
not just the top level one.
Jim Meyering [Sat, 1 May 1999 02:05:56 +0000 (02:05 +0000)]
Always use STDIN_FILENO for input and STDOUT_FILENO
for output, to avoid confusion with closed input and output fds.
(input_fd, output_fd): Remove; all uses changed to STDIN_FILENO
and STDOUT_FILENO.
(open_fd): New function.
(main): Use it, instead of open, to ensure that file descriptors
don't get confused.
(skip): Don't fstat the input file; the result is no longer used.
Jim Meyering [Fri, 30 Apr 1999 16:03:46 +0000 (16:03 +0000)]
Update to reflect this change by reversing
the order of arguments so the symlink is the source, not the
destination (otherwise, the mv command would now succeed).
Jim Meyering [Fri, 30 Apr 1999 15:40:34 +0000 (15:40 +0000)]
(copy_internal): Move the one-file-system test so that
it follows the `if (new_dst || !S_ISDIR (dst_sb.st_mode))' block.
Prior to this change, `cp --one-file-system' would traverse a file-
system boundary if the destination directory existed.
From thospel@mail.dma.be.
Jim Meyering [Fri, 30 Apr 1999 15:15:02 +0000 (15:15 +0000)]
(copy_internal): Don't make `mv foo symlink-to-foo' fail.
That is, even though source and destination are `the same,' don't fail
if the destination is a symlink. From Peter Samuelson.
Jim Meyering [Mon, 26 Apr 1999 13:19:37 +0000 (13:19 +0000)]
(make_node_op_equals, mode_compile, mode_create_from_ref, mode_adjust):
Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.
modechange.h now includes sys/types.h.
Include xstrtol.h.
(isodigit, oatoi): Remove.
(S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR, S_IRGRP,
S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRWXU, S_IRWXG,
S_IRWXO): Define if not defined.
(CHMOD_MODE_BITS): New macro.
(mode_compile): Convert from octal with xstrtoul, not our own routine.
Jim Meyering [Mon, 26 Apr 1999 13:13:00 +0000 (13:13 +0000)]
(make_path): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.
(S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRWXU): Define if not defined.
Jim Meyering [Mon, 26 Apr 1999 13:10:11 +0000 (13:10 +0000)]
(setst, ftypelet, mode_string): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.
(S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH): Define if not defined.
<config.h>, <sys/types.h>: Include for mode_t.
(mode_string): Now takes mode_t.
Jim Meyering [Mon, 26 Apr 1999 12:49:16 +0000 (12:49 +0000)]
(isodigit): Remove unused macro.
(mode, cp_option_init, DIR_MODE): Use proper mode_t types and macros.
Don't assume the traditional Unix values for mode bits.