coreutils cat.c cleanup

2004-07-28 Thread Paul Eggert
I found a couple of theoretical integer overflows in cat.c: it misbehaves if you give it 2**32 options, and it screws up if a file block size is greater than INT_MAX. While fixing these minor glitches and doing the usual "use bool for values that are booleans" fixes I noticed also that cat uses su

dcgen minor tweaks

2004-07-28 Thread Paul Eggert
I noticed that dcgen generated C code with wider integers than it had to, so I cleaned that up, and while I was at it I modified it to remove comments, trailing white space, and empty lines. 2004-07-28 Paul Eggert <[EMAIL PROTECTED]> * src/dcgen: Remove comments, trailing white space, a

coreutils chown/chgrp integer usage cleanup

2004-07-28 Thread Paul Eggert
This is related to the previous patch: it cleans up chown/chgrp themselves. The only user-visible change should be that "chgrp 010 file" works correctly instead of misparsing the number as octal. 2004-07-28 Paul Eggert <[EMAIL PROTECTED]> * src/chgrp.c (parse_group): Require base 10 wh

userspec fixes for coreutils (e.g., "chown 010 file")

2004-07-28 Thread Paul Eggert
coreutils chown and chgrp mishandle some numeric uids and gids that have leading zeros. For example, "chown 010 file" is treated as "chown 8 file", where it should be like "chown 10 file". I discovered this while auditing for integer arithmetic problems, and installed the following patch to fix t

memchr.c and memrchr.c portability fixes

2004-07-28 Thread Paul Eggert
I installed these patches, to remove the assumption that sizeof (long) must be either 4 or 8, and also to remove the assumption that a pointer must be castable to an integer in a useful way. 2004-07-28 Paul Eggert <[EMAIL PROTECTED]> * lib/memchr.c: Include , not and . (LONG_MA

md5 and sha1 integer cleanup for coreutils

2004-07-28 Thread Paul Eggert
Continuing in our series of integer-arithmetic cleanups for coreutils, here is a patch to make md5.c and sha1.c portable to hosts (like the AS/400) which do not let you cast pointers to integers in any meaningful way. This also modernizes the integer terminology a bit (using C99 names) and fixes t

lib/getugroups overflow check

2004-07-28 Thread Paul Eggert
I installed this patch for a very unlikely problem: more than INT_MAX groups. 2004-07-28 Paul Eggert <[EMAIL PROTECTED]> * getugroups.c: Include . (EOVERFLOW): Define if not defined. (getgroups): Return -1 with errno=EOVERFLOW if an integer overflow occurs. Inde

coreutils tests/misc/pwd patch for Solaris automounter

2004-07-28 Thread Paul Eggert
I installed this patch to fix a test-case bug encountered when running "make test" under the Solaris automounter. 2004-07-28 Paul Eggert <[EMAIL PROTECTED]> * tests/misc/pwd: Don't assume that Perl's getpwd agrees with our pwd when there are multiple names for the working direct

coreutils src/Makefile.am fixes for Solaris 8 'make' problems

2004-07-28 Thread Paul Eggert
"make check" failed on Solaris 8 sparc because Solaris 8 'make' wouldn't build the groups file: it saw the line "groups: Makefile" and decided that was enough. I also noticed a lot of needless rebuilding of localedir.h, which I think I've seen on other platforms too: that makefile rule is well-int

coreutils rm fix for Solaris -- please review this one....

2004-07-28 Thread Paul Eggert
CVS coreutils rm failed "make check" due to the following scenario in tests/rm/inaccessible: can't get the working directory initially; ... chdir ("/foo/bar/abs1"); ... opendir, readdir, remove all entries here; then: ... chdir ("."); // because we couldn't get the working directory

printf.c port to Solaris 8 + 32-bit GCC (strtoimax/strtoumax)

2004-07-28 Thread Paul Eggert
I installed this fix encountered when porting coreutils CVS to Solaris 8 + 32-bit GCC. This was a portability bug that I introduced in the 2004-07-06 change to printf.c; sorry about that. 2004-07-27 Paul Eggert <[EMAIL PROTECTED]> * src/printf.c (strtiomax, strtoumax): Declare if not a