Jim Meyering [Fri, 31 Aug 2001 09:09:53 +0000 (09:09 +0000)]
(savedir): Remove size parameter, as POSIX says that
a directory's st_size can have an arbitrary value, so the old
usage could waste an arbitrary amount of memory. All uses
changed.
Jim Meyering [Fri, 31 Aug 2001 07:29:05 +0000 (07:29 +0000)]
Correct credits, as cccp.c no longer
exists and anyway it was so heavily changed from the old cccp
code as to be unrecognizable. Include full-write.h.
(full_write) Return size_t, with short writes meaning failure.
All callers changed. This fixes a bug with large buffers
on 64-bit hosts.
Jim Meyering [Fri, 31 Aug 2001 06:34:06 +0000 (06:34 +0000)]
(EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS): New macros.
(free_exclude): New decl.
(add_exclude, add_exclude_file): Now takes int options arg.
(excluded_filename): No longer requires options arg, as the options
are determined by add_exclude. Now returns bool, not int.
Jim Meyering [Fri, 31 Aug 2001 06:33:42 +0000 (06:33 +0000)]
Merge 'exclude' changes from tar 1.13.22.
This fixes one or two unlikely storage allocation overflow bugs,
but doesn't change user-visible behavior otherwise.
(bool): Declare, perhaps by including stdbool.h.
(<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
(<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
Include if available.
(<xalloc.h>): Include
(SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
(verify): New macro. Use it to verify that EXCLUDE macros do not
collide with FNM macros.
(struct patopts): New struct.
(struct exclude): Use it, as exclude patterns now come with options.
(new_exclude): Support above changes.
(new_exclude, add_exclude_file):
Initial size must now be a power of two to simplify overflow checking.
(free_exclude, fnmatch_no_wildcards): New function.
(excluded_filename): No longer requires options arg, as the options
are determined by add_exclude. Now returns bool, not int.
(excluded_filename, add_exclude):
Add support for the fancy new exclusion options.
(add_exclude, add_exclude_file): Now takes int options arg.
Check for arithmetic overflow when computing sizes.
(add_exclude_file): xrealloc might modify errno, so don't
realloc until after errno might be used.
Jim Meyering [Mon, 27 Aug 2001 08:50:04 +0000 (08:50 +0000)]
(N_): Remove definition.
Revert most of last change.
Instead, simply don't mark the `Copyright...' string for translation.
Based on advice from Paul Eggert.
Jim Meyering [Sun, 26 Aug 2001 18:26:01 +0000 (18:26 +0000)]
(version_etc_copyright_fmt): Replace literal year
of copyright with `%s' so translators don't get an untranslated message in 2002.
(COPYRIGHT_YEAR): Define.
(version_etc): Use fprintf rather than fputs.
Jim Meyering [Sat, 18 Aug 2001 15:59:02 +0000 (15:59 +0000)]
Add AC_PREREQ(2.13).
(jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
(jm_AC_TYPE_INTMAX_T): New macro.
(jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
Jim Meyering [Mon, 13 Aug 2001 20:11:03 +0000 (20:11 +0000)]
(unlocked-io.h): Do not append "_unlocked" twice.
Port to Solaris 8, where 'sed' requires a space after the 'r'
command, and where sh dislikes "$/". Clean up the spacing a bit.
Redirect output to $tmp just once.
Jim Meyering [Mon, 13 Aug 2001 06:30:10 +0000 (06:30 +0000)]
(<errno.h>): Include.
(errno): Declare if not defined.
(addext): Work correctly when pathconf returns -1 and leaves
errno alone because there is no limit. Also, work even if
pathconf returns a value greater than SIZE_MAX.
Jim Meyering [Sat, 4 Aug 2001 17:07:37 +0000 (17:07 +0000)]
Don't include <limits.h>.
Include <stdlib.h> and <string.h> unconditionally.
(iswcntrl, mbsinit, ISCNTRL): New macros.
(mbsnwidth): Use K&R style function declarations.
Don't bother checking for MB_LEN_MAX == 1, since the compiler
can optimize it when MB_CUR_MAX == 1.
The width of control characters is zero, not 1.
Jim Meyering [Sat, 4 Aug 2001 17:00:11 +0000 (17:00 +0000)]
(jm_PREREQ_MBSWIDTH): No longer requires AM_C_PROTOTYPES.
Check for iswcntrl, mbsinit. Use AC_TRY_COMPILE, not AC_CHECK_DECLS,
for portability to Autoconf 2.13.