Jim Meyering [Sun, 20 May 2001 20:44:33 +0000 (20:44 +0000)]
Include "hard-locale.h".
(nstrftime): New decl.
(enum time_style): New enum.
(time_style_args, time_style_types): New constants.
(full_time): Remove.
(long_time_format): Initialize to POSIX defaults.
(TIME_STYLE_OPTION): New constant.
(long_options, decode_switches, usage): Add --time-style support.
(long_time_expected_width): Use nstrftime, not strftime.
(print_long_format): Likewise.
Increase initial size to match new full-iso time style.
Jim Meyering [Sun, 20 May 2001 20:41:20 +0000 (20:41 +0000)]
(my_strftime):
Define to nstrftime if emacs, but only if my_strftime is not defined.
(extra_args, extra_args_spec, extra_args_spec_iso): Rename from
ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
Add one more extra argument: a nanoseconds value.
All uses changed.
(ns): New macro.
(my_strftime function): Add %N format.
(emacs_strftimeu): Renamed from emacs_strftime,
with extra ut argument.
Jim Meyering [Sun, 20 May 2001 20:38:25 +0000 (20:38 +0000)]
(jm_FUNC_GNU_STRFTIME):
Don't bother to check library strftime, since
we'll be using our own my_strftime function anyway.
Define my_strftime instead of strftime.
Jim Meyering [Sun, 20 May 2001 08:21:05 +0000 (08:21 +0000)]
(EXTRA_DIST): Add constants.texi and doclicense.texi.
(info_TEXINFOS): s/fileutils/omni-utils/.
(check-texinfo): New rule.
(check): Depend on check-texinfo.
Jim Meyering [Tue, 15 May 2001 10:11:15 +0000 (10:11 +0000)]
(struct fileinfo.linkmode): Now st_mode.
(print_color_indicator, print_name_with_quoting, print_type_indicator,
length_of_file_name_and_frills):
Use mode_t, not unsigned int, to store modes.
(dired_dump_obstack): Do not assume size fits in 'int'.
(get_link_name): readlink returns ssize_t, not int.
(make_link_path): Store buffer size as size_t, not int.
(print_long_format): Use unsigned long, not unsigned, to print
nlink_t, uid_t, gid_t, major_t, minor_t.
Jim Meyering [Sun, 13 May 2001 15:14:00 +0000 (15:14 +0000)]
(enum Dereference_symlink): New type.
(dereference): New var, replacing trace_links, which was removed.
(long_options, main, decode_switches, gobble_file, usage):
Implement the changes.
Jim Meyering [Sun, 13 May 2001 10:20:36 +0000 (10:20 +0000)]
(main): Check for overflow when converting out of uintmax_t.
Do not assume that major_t and minor_t are no wider than int.
Check for makedev failures. Convert device numbers via uintmax_t, not
unsigned long, just in case. Coalesce duplicate code in the block and
character device cases.
Jim Meyering [Sat, 12 May 2001 16:05:12 +0000 (16:05 +0000)]
Include "dirname.h".
(base_name, strip_trailing_slashes): Remove decls; now in dirname.h.
(main): Use base_len instead of strip_trailing_slashes to strip
trailing slashes.
Jim Meyering [Sat, 12 May 2001 15:50:27 +0000 (15:50 +0000)]
(ISSLASH): Remove; now in dirname.h.
(strip_trailing_slashes): Return nonzero if
a slash was stripped. Do not strip the last slash after a
file system prefix.
Jim Meyering [Sat, 12 May 2001 15:45:43 +0000 (15:45 +0000)]
(DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH): Remove; now in dirname.h.
(path_concat): Use base_len to compute
base length, not strlen; this means we cannot rely on memcpy
to null-terminate.
Jim Meyering [Sat, 12 May 2001 15:38:00 +0000 (15:38 +0000)]
(FILESYSTEM_PREFIX_LEN, ISSLASH): Remove; now in dirname.h.
Include <string.h> instead of <stdlib.h>.
Do not include <assert.h>; no longer needed.
Include xalloc.h.
(memrchr): Remove decl.
(dir_name_r): Remove.
(dir_len): Renamed from dirlen. All callers changed.
Rewrite in terms of base_name, for simplicity and consistency.
(dir_name): Never return NULL. All callers changed.
Do not include <stdlib.h> in test program; no longer needed.
return 0; is fine for test program.
Jim Meyering [Sat, 12 May 2001 14:23:49 +0000 (14:23 +0000)]
(FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Remove; now in dirname.h.
Do not include <stdio.h>, <assert.h>; no longer needed.
Include <string.h>, <dirname.h>.
(base_name): Allow file names ending in slashes, other than names
that are all slashes. In this case, return the basename followed
by the slashes. This is more general, and can be used in places
where the original base_name purposely had an assertion failure.
(base_len): New function.
Jim Meyering [Sat, 12 May 2001 14:20:43 +0000 (14:20 +0000)]
(base_name): Remove; now in dirname.h.
Include <dirname.h> after size_t is defined.
(find_backup_file_name, max_backup_version): Use base_len instead of
rolling it ourselves.
Handle the case of "" and (on DOS) "C:" correctly.