1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-12 15:06:44 +02:00
Commit Graph

32 Commits

Author SHA1 Message Date
Paul Eggert
2d0c5eefd0 Sync from gnulib. 2005-09-22 06:05:39 +00:00
Jim Meyering
116e6fb244 Update FSF postal mail address. 2005-05-14 07:58:06 +00:00
Paul Eggert
d4502755f4 (mode_free): Remove; all callers changed to invoke 'free'.
xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
(MODE_DONE): New constant.
(struct mode_change): Remove 'next' member.
(make_node_op_equals): New function; like the old one of the
same name, except it allocates an array.
(mode_compile, mode_create_from_ref): Use it.
(mode_compile): Allocate result as an array, not a linked list.
Parse octal string ourself, so that we catch mistakes like "+0".
(mode_adjust): Arg is an array, not a linked list.
2005-05-01 14:26:50 +00:00
Paul Eggert
498bb2796f Include stat-macros.h, xalloc.h.
(S_ISDIR, 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_IRXWU):
(S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
Remove.  This is now stat-macros.h's job.
(talloc): Remove.  All callers replaced by xalloc, so that
our invokers don't have to worry about reporting memory failures.
(make_node_op_equals): Remove.
(MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
New constants.
(struct mode_change): Moved here from modechange.h.
(mode_append_entry): Remove.
(mode_compile): Remove MASKED_OPS arg, since it encouraged
apps to have incorrect behavior.  Use simpler algorithm for head
and tail.  Don't futz with umask; that's now the job of mode_adjust.
Detect more invalid usages rather than having somewhat-random behavior.
Don't insert an "a=" action, as that leads to incorrect behavior.
(mode_compile, mode_create_from_ref): Return NULL on error instead
of an enum, since now there's only one way to have an error.  All
callers changed.
(mode_adjust): Accept new arg UMASK_VALUE, and interpret it
at the correct time.  Simplify calculation of "+u" and its ilk.
Don't mishandle "+X".
(mode_free): Remove "register" and localize decls.
2005-04-28 16:29:00 +00:00
Paul Eggert
d7caebfe16 (mode_compile): Don't decrement a pointer that
points to the start of a string, as the C Standard says the
resulting behavior is undefined.
2004-09-24 07:00:59 +00:00
Paul Eggert
6d02317a83 Update copyright. 2004-07-30 04:06:16 +00:00
Paul Eggert
f9663b8c83 Include <stdbool.h>.
(mode_compile): Use bool when appropriate.
2004-07-30 04:05:50 +00:00
Jim Meyering
ec98adbc22 Include <stdlib.h> unconditionally.
(malloc): Remove decl.
2003-09-10 09:05:31 +00:00
Jim Meyering
01170d044a Include <stddef.h>.
(NULL): Don't define, since <stddef.h> does that.
2003-06-06 20:17:37 +00:00
Jim Meyering
0928d79889 (mode_compile): Add cast to avoid warning about
`signed and unsigned type in conditional expression'.
2001-12-09 22:54:19 +00:00
Jim Meyering
500578e250 (mode_adjust): Fix error introduced on 1999-04-26
that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
rather than group writable.  Patch by Juan F. Codagnone.
2001-11-19 13:32:23 +00:00
Jim Meyering
fa997616ff normalize spelling in comment 2001-01-07 09:20:47 +00:00
Jim Meyering
3336d7cf69 Do not assume that mode_t uses the
traditional octal encoding.  E.g. "chmod 1 FOO" should set
the other-execute bit of FOO even if S_IXOTH != 1.

(SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
WOTH, XOTH, ALLM): New macros.
(S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
 S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
Use them.
(S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
(S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
(mode_compile):
No need to use uintmax_t; unsigned long is long enough.
Don't bother to get suffix since we don't use it.
2000-12-29 10:32:09 +00:00
Jim Meyering
a5810cd3de Remove "2000" from Copyright line, as the file hasn't been
changed this year other than in the copyright notice.
2000-10-31 07:09:40 +00:00
Jim Meyering
551ab8474b (mode_compile): Use uintmax_t, not unsigned
long, to parse numeric modes.  Check for any unknown bits, not
just unknown bits left of the leftmost known bit.
2000-01-12 06:49:59 +00:00
Jim Meyering
82893aff55 (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.
1999-04-26 13:19:37 +00:00
Jim Meyering
a717cdf2d6 (make_node_op_equals): New function.
(mode_append_entry): Likewise.
(mode_compile): When none of [ugoa] is specified in an `=OP' change
mode request, insert a `=0' entry into the linked list so that all
bits are cleared first.  Use the new functions.
1999-03-30 04:51:08 +00:00
Jim Meyering
581baf7d99 (mode_compile): Upon allocation failure, free
everything starting with the head, not the tail.
1999-03-28 05:44:33 +00:00
Jim Meyering
7c43d59107 Fix post-protoization typo. 1998-09-19 13:11:23 +00:00
Jim Meyering
ea44cc33ca (oatoi): declare arg to be const 1998-09-09 15:39:13 +00:00
Jim Meyering
4db847ce3c Protoize. 1998-09-09 14:21:16 +00:00
Jim Meyering
aad3038b71 (mode_create_from_ref): Remove dcl of unused local, I. 1997-08-03 20:28:45 +00:00
Jim Meyering
f6e8b41a5f (mode_create_from_ref): Don't use umask.
Don't use MODE_X_IF_ANY_X.
1997-07-29 03:03:49 +00:00
Jim Meyering
f3a329069e (mode_create_from_ref): New function. 1997-07-06 21:28:04 +00:00
Jim Meyering
7d70c26629 . 1996-10-29 14:24:52 +00:00
Jim Meyering
6a9d144a66 . 1996-09-28 18:31:00 +00:00
Jim Meyering
e8b07e3796 update FSF address in copyright 1996-07-15 03:36:16 +00:00
Jim Meyering
8a623ebc61 (mode_compile): Declare parameter MODE_STRING const.
Remove register attribute.
(mode_adjust): Likewise for CHANGES.
1996-05-16 03:57:49 +00:00
Jim Meyering
f1ce35a10c merge with 3.9h 1994-10-02 05:43:03 +00:00
Jim Meyering
52b4bf84e7 . 1994-08-27 21:34:13 +00:00
Jim Meyering
11023e1493 . 1994-07-01 13:46:42 +00:00
Jim Meyering
14fd34b788 Initial revision 1992-10-31 20:42:48 +00:00