Age | Commit message (Collapse) | Author |
|
|
|
Don't require AC_HEADER_STAT.
|
|
it. Don't require AC_HEADER_STAT.
(gl_PREREQ_LSTAT): Remove.
|
|
|
|
|
|
|
|
[!_LIBC] Include "stat-macros.h" instead.
|
|
m4 files, since we'll make the stat-macros module a prerequisite.
|
|
also requires AC_HEADER_STAT.
|
|
* filetype.h: Don't assume <sys/stat.h> was included first.
|
|
|
|
|
|
|
|
|
|
Also, free the mode_change object when done.
|
|
(reference_file): Move this static var to inside "main".
(process_file, process_files): Remove CHANGES arg; now taken from
static var. All uses changed.
(usage): Fix incorrect description of MODE operand.
(main): For invalid mode usages, output a brief usage message.
Adjust to new modechange API.
|
|
(struct mode_change): Move to modechange.c; callers don't
need to see this stuff.
(MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
(MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
(mode_change, mode_adjust): Reflect the new signatures noted above.
|
|
(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.
|
|
(Conditional Executability, Numeric Modes):
These days the sticky bit is more often uses as the restricted
deletion flag, so modernize the discussion about this.
(Mode Structure): Linux/GNU -> GNU/Linux.
(Symbolic Modes): Don't imply that "+ur" or "u" is valid.
(Setting Permissions): Don't imply that "+t" is invalid.
Use "rwx" rather than the less-common "rxw" in an example.
(Copying Permissions): Say that ugo is a replacement for
a string of the other letters. Add spaces around examples.
Use "set-user-ID" rather than "set user ID" to avoid ambiguity.
Use "+t" rather than "o+t", since POSIX doesn't specify the latter.
Mention which combinations are portable and which are GNU.
(Numeric Modes): Don't imply they aren't portable; they are
nowadays.
|
|
even when conforming to POSIX 1003.1-2001.
A few other bug fixes.
|
|
|
|
since it now works the same regardless of POSIX version.
(od invocation): -w N -> -w[N].
(pr invocation): -S STRING -> -SSTRING.
(fold invocation): -WIDTH works even when conforming to POSIX
1003.1-2001.
(head invocation, tail invocation): Likewise for -NUM.
(split invocation): Likewise for -LINES.
(uniq invocation): Likewise for -N.
(expand invocation, unexpand invocation): Likewise for -TAB.
(nice invocation): Likewise for -ADJUSTMENT.
(sort invocation): Clarify explanation of +N option.
(uniq invocation): Likewise.
(join invocation): Remove special case for --help, --version.
(touch invocation): Clarify explanation of date options.
(Options for date): -I timespec -> -I[timespec].
|
|
|
|
(main): Don't complain about -TAB.
|
|
|
|
(main): Don't complain about -NUM option.
|
|
(short_options): New constant, which always supports -y arg.
(COMMON_SHORT_OPTIONS): Remove.
|
|
(short_options): New constant, which always supports -S[string].
(COMMON_SHORT_OPTIONS): Remove.
|
|
(short_options): New constant, which always supports -w[num].
(COMMON_SHORT_OPTIONS): Remove.
|
|
(main): Always support -NUM option.
|
|
(obsolete_usage): Remove.
(join_field_1, join_field_2): Initialize to SIZE_MAX to indicate
they haven't been set yet.
(tab): Now int, not char. Initialize to -1 to indicate white space
separates columns, so that we can use NUL as a separator.
All uses changed.
(OBSOLETE_LONG_OPTIONS, get_option): Remove.
(string_to_join_field): Remove ERR_MSG_FMT arg; a single format
suffices. Use xstrtoul for sizes; it suffices.
(decode_field_spec): Report an error and exit on failure. Return void,
not bool.
(add_field_list): Likewise.
(set_join_field): New function.
(enum operand_status): New enum.
(add_file_name): New args OPERAND_STATUS, JOPTION_COUNT,
PREV_OPTC_STATUS, OPTC_STATUS to handle the bewildering array of
possibilities with obsolete option parsing.
(main): Use it. Do not depend on POSIX version.
Check for conflicting options. Parse obsolete options -j1 and -j2
so that it is a pure extension to POSIX 1003.1-2001.
Allow '-t\0' to specify a NUL tab, stealing the code from 'sort'.
|
|
(header_mode_option): Remove.
(main): Don't complain about obsolete -NUM args.
|
|
(shortopts): New constant. -DIGIT now always takes an optional arg.
(main): Don't preprocess arg list; that was buggy. Use method
similar to expand.
|
|
(shortopts): New constant. -DIGIT now always takes an optional arg.
(main): Revamp parsing of -DIGIT to let parse_tab_stops handle it.
Don't complain about -DIGIT.
|
|
(COMMON_SHORT_OPTIONS): Remove.
(short_options): New constant.
(short_options, usage): -I now always takes an optional arg.
|
|
even when conforming to POSIX 1003.1-2001.
Fix bug with "POSIXLY_CORRECT=1 fold file -3".
join now supports a NUL field separator, e.g., "join -t '\0'".
join now detects and reports incompatible options, e.g.,
|
|
the point of departure for -m, and explain what it meeams.
(mkdir invocation, mkfifo invocation, mknod invocation):
The umask does not affect the point of departure.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
when the "+x" was being evaluated.
|
|
and similarly for mkfifo and mknod.
|
|
|
|
following suggestions from Eric Blake.
|
|
(sig): New var. Use it insted of "trap '' CHLD".
Append $EXEEXT to executable name.
|