(struct nls_keyfield): Remove types no longer used.
(strncoll_s2_readonly, nls_set_fraction, look_for_fraction,
nls_month_is_either_locale, nls_numeric_format): Remove functions no
longer used.
(monthtab): Now has the role that us_monthtab had, but it's const only
if ENABLE_NLS is not defined.
(C_DECIMAL_POINT): Renamed from FLOATING_POINT. All uses changed.
(MONTHS_PER_YEAR): Renamed from NLS_NUM_MONTHS. All uses changed.
(struct_month_cmp): Renamed from nls_sort_month_comp. All uses changed.
Use strcmp, not strcoll, since the user doesn't care about collating
here.
(inittables): Read locale data into monthtab, rather than modifying a
separate month table and futzing with indirection. Do not worry about
colliding months, since we no longer autodetect month locale.
(fraccompare): Don't set no-longer-used variable nls_fraction_found.
(getmonth): Use strncmp to compare months, since user doesn't care
about collating here. Fix bug where code incorrectly assumed that
strlen (monthtab[lo].name) == strlen (monthtab[ix].name).
Jim Meyering [Sat, 15 May 1999 04:50:26 +0000 (04:50 +0000)]
(getugroups): Don't dereference a null pointer when
running `id USER' for some USER that is listed on the RHS in /etc/group.
From Sander van Malssen.
Add some curly braces, use STREQ, reverse the sense of a test
and use `continue' to save a level of nesting.
Jim Meyering [Fri, 14 May 1999 17:11:03 +0000 (17:11 +0000)]
(version_etc): Put version info and author names
on the first two lines respectively rather than putting the three
lines of copyright info between them.
Jim Meyering [Wed, 12 May 1999 02:13:45 +0000 (02:13 +0000)]
(usage): Split --help message into two pieces so that
Split the --help message into two pieces so that neither is longer
than 2048. For Irix4's cc. Reported by Kaveh Ghazi.
Jim Meyering [Mon, 10 May 1999 14:17:09 +0000 (14:17 +0000)]
Expand each `&' character in the gecos field.
(count_ampersands): New function.
(create_fullname): New function.
(print_entry): Use create_fullname here.
(print_long_entry): Use it here, too.
From Kaveh Ghazi.
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.