Compare commits

..

118 Commits

Author SHA1 Message Date
Jim Meyering
007f495c2f *** empty log message *** 1999-04-25 04:38:15 +00:00
Jim Meyering
0de4165e66 *** empty log message *** 1999-04-24 21:38:27 +00:00
Jim Meyering
f90a5e94b8 (print_entry): Use #if', not #ifdef HAVE_UT_HOST'. 1999-04-24 21:29:22 +00:00
Jim Meyering
88fc9ef946 *** empty log message *** 1999-04-24 13:14:25 +00:00
Jim Meyering
fc6db4f55a *** empty log message *** 1999-04-24 13:14:11 +00:00
Jim Meyering
a279b3a84b . 1999-04-24 13:00:16 +00:00
Jim Meyering
a56886d93d *** empty log message *** 1999-04-24 12:59:26 +00:00
Jim Meyering
82105f5876 *** empty log message *** 1999-04-24 12:58:07 +00:00
Jim Meyering
ea07044f83 . 1999-04-24 12:57:43 +00:00
Jim Meyering
b67ee7857a *** empty log message *** 1999-04-24 12:53:50 +00:00
Jim Meyering
6796615496 *** empty log message *** 1999-04-24 12:53:19 +00:00
Jim Meyering
88c9f81346 Include new "xstrtol.h", not "xstrtoul.h". 1999-04-24 12:43:39 +00:00
Jim Meyering
55865fda6c Include new "xstrtol.h", not "xstrtoul.h".
(struct control) [repeat]: Declare as uintmax_t, not int.
(struct control) [lines_required]: Likewise.
(handle_line_error): Use human_readable to print lines_required.
(parse_repeat_count): Parse a uintmax_t.
(parse_patterns): Parse a uintmax_t.
1999-04-24 12:42:53 +00:00
Jim Meyering
bdb9cd3f2c Include new "xstrtol.h", not "xstrtoul.h". 1999-04-24 12:33:56 +00:00
Jim Meyering
cef6937705 Include new "xstrtol.h", not "xstrtoul.h".
Change all U_LONG_LONG to uintmax_t.
(head_lines): Move a couple dcls into an inner scope.
(string_to_integer): Rename from string_to_ull.
1999-04-24 12:33:25 +00:00
Jim Meyering
34942b9da8 import latest 1999-04-23 04:20:42 +00:00
Jim Meyering
4cbb965035 *** empty log message *** 1999-04-22 15:19:11 +00:00
Jim Meyering
62edaf0b55 (word32): Don't use `#error'; it runs afoul of SunOS 4.1.4 cc. 1999-04-22 14:38:50 +00:00
Jim Meyering
c274f255c3 *** empty log message *** 1999-04-22 14:37:17 +00:00
Jim Meyering
e7fa925898 Guard strong_alias and weak_alias with #ifdef _LIBC. 1999-04-22 14:35:59 +00:00
Jim Meyering
b003c8fdfa Don't bother with pot-mail anymore -- Francois needs merely the URL. 1999-04-22 01:24:34 +00:00
Jim Meyering
2279aec4a3 . 1999-04-21 23:17:13 +00:00
Jim Meyering
1f74a371e0 . 1999-04-21 23:16:48 +00:00
Jim Meyering
ae295f9bab . 1999-04-21 04:34:29 +00:00
Jim Meyering
28a81b47c1 . 1999-04-21 04:30:22 +00:00
Jim Meyering
9b56140087 *** empty log message *** 1999-04-21 04:29:00 +00:00
Jim Meyering
8907976270 Remove the temporary strtoumax replacement;
we now have a true replacement in strtoumax.c.
(__strtol): Always define to strtoumax.
(<stdlib.h>): No need to include.
(PARAMS): Remove.
(my_strtoumax): Move this to strtoumax.c,
rename it to strtoumax, and simplify.
1999-04-21 04:28:36 +00:00
Jim Meyering
3354e7502c Update to glibc 2.1.1 version. 1999-04-21 04:27:24 +00:00
Jim Meyering
64bae48df6 . 1999-04-21 04:24:39 +00:00
Jim Meyering
9d3c3cb2c7 *** empty log message *** 1999-04-21 04:22:15 +00:00
Jim Meyering
9a16aa9fde *** empty log message *** 1999-04-21 04:21:50 +00:00
Jim Meyering
a6f5dd6269 (jm_CHECK_ALL_TYPES): Require jm_AC_TYPE_UNSIGNED_LONG_LONG. 1999-04-21 04:21:44 +00:00
Jim Meyering
9174cee25d (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq. 1999-04-21 04:14:59 +00:00
Jim Meyering
7d98d28569 *** empty log message *** 1999-04-21 04:04:20 +00:00
Jim Meyering
e441de9acc (jm_AC_TYPE_UINTMAX_T): Move unsigned long
long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
1999-04-21 04:04:04 +00:00
Jim Meyering
36ca174d81 *** empty log message *** 1999-04-21 04:00:48 +00:00
Jim Meyering
76659f726f Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
Replace xstroull if necessary.
1999-04-21 04:00:38 +00:00
Jim Meyering
42a64ac80e *** empty log message *** 1999-04-21 03:58:57 +00:00
Jim Meyering
6783ad7832 *** empty log message *** 1999-04-21 03:24:54 +00:00
Jim Meyering
e8b570e45a update comment 1999-04-21 03:19:26 +00:00
Jim Meyering
cf6eaeb03b <xstrtol.h>: Include this, not xstrtoul.h.
<human.h>: Include.
Use uintmax_t in place of unsigned long.
Use human_readable to convert to strings for printing.
1999-04-21 03:18:23 +00:00
Jim Meyering
42ccae28c6 . 1999-04-21 02:30:43 +00:00
Jim Meyering
c850864a19 . 1999-04-21 02:29:50 +00:00
Jim Meyering
c93a59ac4f . 1999-04-21 02:28:20 +00:00
Jim Meyering
abc54153b1 *** empty log message *** 1999-04-21 02:21:57 +00:00
Jim Meyering
c4a52014f7 Port to AIX and HP-UX. Support cross-compilation. 1999-04-21 02:21:47 +00:00
Jim Meyering
c7a0b8f429 <config.h>: Include first, since it can do
things like #define const, and this must be done before
including any system headers.
1999-04-20 13:26:06 +00:00
Jim Meyering
154588d722 (my_strtoumax): Fix typo in computing
whether overflow occurred.  Improve overflow-detection to use
only one conditional branch total, rather than 2N+1
conditional branches for an N-digit number.
1999-04-20 13:24:14 +00:00
Jim Meyering
f9270b650f *** empty log message *** 1999-04-19 14:09:07 +00:00
Jim Meyering
5f724e01b9 *** empty log message *** 1999-04-19 14:06:07 +00:00
Jim Meyering
c37f2f6355 (main): Restore `+' in getopt_long string. Otherwise,
commands like `seq 10 -2 0' wouldn't work.  From Andreas Schwab.
1999-04-19 14:05:34 +00:00
Jim Meyering
dcf32e94d2 *** empty log message *** 1999-04-19 14:03:17 +00:00
Jim Meyering
3e47e246f8 *** empty log message *** 1999-04-19 05:25:52 +00:00
Jim Meyering
d5c056d478 (b_host): Remove /pub suffix. 1999-04-19 05:22:54 +00:00
Jim Meyering
da96ede53c *** empty log message *** 1999-04-19 04:50:25 +00:00
Jim Meyering
6a9f42807f (my-distcheck): Use AMTAR, not TAR. 1999-04-19 04:50:03 +00:00
Jim Meyering
36564cbefd . 1999-04-19 04:45:09 +00:00
Jim Meyering
95836befb3 *** empty log message *** 1999-04-19 04:24:35 +00:00
Jim Meyering
0b8e81aab9 . 1999-04-19 04:20:57 +00:00
Jim Meyering
a0119464b8 *** empty log message *** 1999-04-19 02:56:54 +00:00
Jim Meyering
00811477e8 *** empty log message *** 1999-04-19 02:54:53 +00:00
Jim Meyering
e144c80776 Require jm_AC_PREREQ_XSTRTOUMAX. 1999-04-19 02:54:48 +00:00
Jim Meyering
ac4f985ac9 *** empty log message *** 1999-04-19 02:53:36 +00:00
Jim Meyering
560d7d9dac . 1999-04-19 02:42:58 +00:00
Jim Meyering
e7a7a48ee6 . 1999-04-19 02:39:52 +00:00
Jim Meyering
95e8d410ff (tempname): Wrap after 99999 only for length-impaired file systems. 1999-04-19 02:39:09 +00:00
Jim Meyering
d3b1ca9174 (main, longopts):
Use -u instead of -R for --remove, so that we can preserve
future compatibility with rm.
1999-04-19 02:15:09 +00:00
Jim Meyering
d70fb569fb [!HAVE_CONFIG_H] (ST_BLKSIZE): Define to 65536.
(do_wipefd): Use ST_BLKSIZE instead of referring to the st_blksize
member directly.
1999-04-19 02:13:01 +00:00
Jim Meyering
e5e1c6d4fd *** empty log message *** 1999-04-19 00:20:36 +00:00
Jim Meyering
d17b6bc300 *** empty log message *** 1999-04-18 23:20:24 +00:00
Jim Meyering
114946fdb0 Include xstrtol.h.
(parse_integer): Migrate most of the work into the new xstrtoumax fn.
1999-04-18 23:18:48 +00:00
Jim Meyering
30edff7a36 Include xstrtol.h, not xstrtoul.h, since xstrtol.h now defines all the
xstrto... functions.
1999-04-18 23:18:32 +00:00
Jim Meyering
d3ffbea816 Include xstrtol.h, not obsolete file xstrtoul.h. 1999-04-18 23:18:09 +00:00
Jim Meyering
cc7d631369 <stdlib.h>: Include if HAVE_STDLIB_H, since bison 1.27 invokes "free".
(LookupWord, yylex): Don't pass negative char to ctype macros.
1999-04-18 23:17:30 +00:00
Jim Meyering
4e8d80cad7 (xalloc_fail): Pass xalloc_msg_memory_exhausted through gettext. 1999-04-18 23:17:05 +00:00
Jim Meyering
a1d8c38553 (libfu_a_SOURCES): Add xstrtoumax.c.
(noinst_HEADERS): Remove xstrtoul.h.
1999-04-18 23:16:49 +00:00
Jim Meyering
0501984933 (__xstrtol, __strtol, __unsigned): Remove macro decls.
<inttypes.h>: Include if HAVE_INTTYPES_H.
(_DECLARE_XSTRTOL): New macro.
(xstrtol, xstrtoul, xstrtoumax): Declare all three functions, so that
we need only one include file, not three.
(_STRTOL_ERROR): Do not undef, as this is no longer needed.
Reword overflow message so that it's independent of type.
1999-04-18 23:16:23 +00:00
Jim Meyering
f8474e2421 (__strtol, __strtol_t, __xstrtol):
New macros to specify the
underlying function, its returned type, and our function.  Default to
values suitable for xstrtol.

Include <ctype.h>, since we use its macros.

(ULONG_MAX, LONG_MAX, ISBLANK): Remove: no longer needed.
(ISSPACE): New macro.

(bkm_scale, bkm_scale_by_power, __xstrtol, main): __unsigned long int
-> __strtol_t.

(__xstrtol): Depend on whether __strtol_t is an unsigned type, not on
whether STRING_TO_UNSIGNED is defined.  Skip isspace chars, not
isblank chars, to match strtol.  When returning
LONGINT_INVALID_SUFFIX_CHAR, store the value that we computed into
*val.
1999-04-18 23:15:34 +00:00
Jim Meyering
ddd5fa0ce5 (STRING_TO_UNSIGNED): Remove.
(__strtol, __strtol_t, __xstrtol): New macros.
1999-04-18 23:15:02 +00:00
Jim Meyering
a7a7424b8b Include xstrtol.h, not obsolete file xstrtoul.h.
"human.h", "xalloc.h": Include.
(attribute): Remove; no longer needed.
(xstrdup): New decl.
(STDOUT_FILENO): New macro.
(O_NOCTTY): Make sure it's always defined, even if HAVE_CONFIG_H.

The following changes have effect only if !HAVE_CONFIG_H.
<ctype.h>: New include.
(RETSIGTYPE): Remove bogus semicolon at end.
(STDOUT_FILENO, uintmax_t, human_readable, LONGEST_HUMAN_READABLE):
New macros.
(xstrtoumax): Renamed from xstrtoul, with corresponding type changes.
Handle suffixes like the real routine does.
(error): Remove bogus assignment of errno to errnum.
(xmalloc, xstrdup): New functions.

(O_NOCTTY): Define even if !HAVE_CONFIG_H.
(S_ISFIFO, S_ISSOCK): New macros, if not already defined.
(OUTPUT_BLOCK_SIZE): New macro.
(struct Options.verbose): Now a boolean, since we no longer have two
levels of verbosity.
(long_opts, usage, main): Remove -D or --device option.  Invert -p or
--preserve option, and rename it to -R or --remove.
(usage): Describe G suffix.
(usage): "-" no longer conflicts with -v.
(UCHAR_MAX): Indent `#error' so that SunOS 4.1.4 cc doesn't reject it.
(ind): Portability fixes: return word32, not unsigned; multiply by
sizeof (word32) instead of shifting left by 2.
(isaac_refill, isaac_mix): Comment out size of array parameter, as
ansi2knr mishandles this.
(status_visible, status_pos, pfstatus, flushstatus): Remove, since
pfstatus isn't portable to users with varying width fonts, or
internationalized messages, and vfprintf is problematic.  All callers
of pfstatus changed to use error instead; this removes incompatibility
of -v with -.  All calls to flushstatus removed.
(dopass, do_wipefd): Do not translate non-English msgs with gettext.

(dopass): Cast lseek constant arguments to (off_t) for benefit
of pre-ANSI compilers; fix one lseek call whose args were interchanged.
Remove unnecessary casts to (off_t).  Do not check for EIO
when determining file size; this was just my earlier wild guess.
Use human_readable to print off_t, instead of casting to unsigned long
(which doesn't work in Solaris 2.6, where off_t is longer than long).
Output human-readable sizes, instead of always using "K".
Check for offset overflow (it happened to me in SunOS 4.1.4).
(do_wipefd): Do not insist on regular files, but do check for special
files that cannot possibly be shredded.
Use xmalloc instead of malloc + check.
Do not inspect st_size for non-regular files.
Try to find the size of a non-regular file by seeking to its end.
Do not assume that a regular file of size-0 has unknown size.
Check for regular files with negative sizes,
and for overflow after rounding to next block.
Always try to truncate, even for special files, but do not report an
error if truncation fails on a special file.

(dopass, wipefile): Do not return 1 for special files; the caller
doesn't care any more.

(wipefd): Remove unnecessary (and nonportable) check for
whether the file descriptor is read-only.  Remove
no-longer-needed check for `-v -'.

(incname): Return 1 for carry bit, like the documentation says.

(wipename, wipefile): Accept new argument, specifying the
quoted file name.  All callers changed.

(wipename): Use xstrdup instead of strdup+error check.

(wipefile): Check for ENOTDIR when opening /dev/fd/NNN. Check for
errors in NNN more carefully. Restore errno after the check.
Check for errors when closing the file descriptor.
Use more consistent wording when unable to remove a file.

(main): Do not remove files by default.
Use xstrtoumax instead of xstrtoul uniformly, since xstrtoul won't
exist if !HAVE_CONFIG_H.
In diagnostics, quote invalid operands to -n and -s options.
Allow T, P, E, Z, and Y suffixes in -s operand.
flags.verbose is now a boolean, not a counter.
Use STDOUT_FILENO instead of 1, for clarity.
1999-04-18 23:13:57 +00:00
Jim Meyering
69b1c4026c (tempname): Add a FIXME comment. 1999-04-18 15:57:19 +00:00
Jim Meyering
0fe4e6b443 (NAME_MAX_IN_DIR): Rename from PATH_MAX_IN_DIR. Use _POSIX_NAME_MAX,
not _POSIX_PATH_MAX.  Guard with #if HAVE_PATHCONF rather than
#if HAVE_UNISTD_H.
1999-04-18 15:44:03 +00:00
Jim Meyering
8cee2c6772 Rename global: s/temp_file_prefix/temp_dir/. 1999-04-18 14:40:20 +00:00
Jim Meyering
eb4109b66e (usage): s/DIRECT/DIRECTORY/g 1999-04-18 14:38:24 +00:00
Jim Meyering
e0cbae44cd *** empty log message *** 1999-04-18 13:32:44 +00:00
Jim Meyering
8f913cc64f (main): Open the output file with *read* access
only if we might need to read to satisfy a `seek=' request.
From Matthias Urlichs.
1999-04-18 13:32:35 +00:00
Jim Meyering
64dec9fafb *** empty log message *** 1999-04-18 13:31:34 +00:00
Jim Meyering
a625377e8c *** empty log message *** 1999-04-18 03:25:23 +00:00
Jim Meyering
c5027d831c . 1999-04-18 02:16:56 +00:00
Jim Meyering
f4143898b2 *** empty log message *** 1999-04-17 14:41:38 +00:00
Jim Meyering
5101382ec6 *** empty log message *** 1999-04-17 11:56:21 +00:00
Jim Meyering
dd886e9690 (file_lines): Fix serious bug introduced with last changes.
From Andreas Schwab.
1999-04-17 11:50:03 +00:00
Jim Meyering
6a821331eb . 1999-04-15 14:09:04 +00:00
Jim Meyering
d679966505 *** empty log message *** 1999-04-15 14:03:06 +00:00
Jim Meyering
f01319465c rename .posix-warn to .env-warn 1999-04-15 13:59:14 +00:00
Jim Meyering
1dbd1aff6f . 1999-04-15 13:49:45 +00:00
Jim Meyering
69e1d626bd Add comments.
(init_header): Tweak white space in Date/Time header.
1999-04-15 13:49:13 +00:00
Jim Meyering
609582a161 new tests from Roland 1999-04-15 13:26:50 +00:00
Jim Meyering
bc95e393d8 Updated tests.
From Roland Huebner.
1999-04-15 13:26:44 +00:00
Jim Meyering
379dcf4c48 . 1999-04-15 12:45:57 +00:00
Jim Meyering
ffd4e9684a *** empty log message *** 1999-04-14 03:12:27 +00:00
Jim Meyering
809b33b2ff new version via automake 1999-04-13 14:44:33 +00:00
Jim Meyering
2a8c4e283e *** empty log message *** 1999-04-13 02:57:40 +00:00
Jim Meyering
e6bc0dccbc (main): Declare out_dev to be of type dev_t, not `int'.
Declare out_ino to be of type ino_t, not `int'.
1999-04-13 01:11:46 +00:00
Jim Meyering
b6d265e347 * src/od.c (MIN, MAX): Remove definitions.
* src/sys2.h (MIN, MAX): Define here instead.
1999-04-13 01:09:15 +00:00
Jim Meyering
4de61e5f98 . 1999-04-12 04:28:05 +00:00
Jim Meyering
1f6f06f7de (test_vector): Disable all tests while I wait for an updated suite. 1999-04-12 04:27:46 +00:00
Jim Meyering
69d1c5772e *** empty log message *** 1999-04-12 04:00:10 +00:00
Jim Meyering
d577eef9e4 *** empty log message *** 1999-04-12 03:54:57 +00:00
Jim Meyering
a36f86a13e . 1999-04-12 03:47:40 +00:00
Jim Meyering
924b7e2291 . 1999-04-12 03:47:17 +00:00
Jim Meyering
2e2161c97a (COPY_TO_EOF): Define.
(dump_remainder): Add parameter, n_bytes, and rewrite to use it.
Update callers.
(file_lines): Rename parameter.
(tail_bytes): Remove obsolete comment.
1999-04-12 03:22:24 +00:00
Jim Meyering
f3df8336ae Fix the problem whereby `yes > k & tail -1 k' would infloop.
(dump_remainder): Move this function to precede the new use in file_lines.
(tail_lines): Don't call dump_remainder here.
(file_lines): Call dump_remainder here instead.
1999-04-11 17:59:28 +00:00
Jim Meyering
a66cc3009b *** empty log message *** 1999-04-11 13:26:42 +00:00
Jim Meyering
cf3d3f1e6e (readtoken, readtokens): Protoize. 1999-04-11 13:25:52 +00:00
Jim Meyering
832dfa7e1f (xwrite): Use STDOUT_FILENO instead of literal `1'. 1999-04-11 03:42:21 +00:00
Jim Meyering
35af2e8613 *** empty log message *** 1999-04-11 03:24:12 +00:00
Jim Meyering
de9d4e9f91 (alpha): Add trailing slash for ncftp. 1999-04-11 03:24:04 +00:00
225 changed files with 5697 additions and 2950 deletions

View File

@@ -31,7 +31,7 @@ t=./=test
my-distcheck:
-rm -rf $(t)
mkdir $(t)
GZIP=$(GZIP) $(TAR) -C $(t) -zxf $(distdir).tar.gz
GZIP=$(GZIP) $(AMTAR) -C $(t) -zxf $(distdir).tar.gz
cd $(t)/$(distdir) \
&& ./configure --disable-nls \
&& $(MAKE) CFLAGS='-Wformat -Werror' \
@@ -39,7 +39,7 @@ my-distcheck:
&& $(MAKE) check \
&& $(MAKE) distclean
cd $(t) && mv $(distdir) $(distdir).old \
&& $(TAR) -zxf ../$(distdir).tar.gz
&& $(AMTAR) -zxf ../$(distdir).tar.gz
diff -ur $(t)/$(distdir).old $(t)/$(distdir)
-rm -rf $(t)
@echo "========================"; \
@@ -53,7 +53,7 @@ PREV_VERSION_REGEXP := $(shell echo $(PREV_VERSION)|sed 's/\./\\./g')
v = Version
a_host=alpha.gnu.org
b_host=tug.org/pub
b_host=tug.org
c_host=ftp.enst.fr
a_url_dir=gnu/fetish
@@ -106,9 +106,8 @@ alpha:
chmod a-w $(distdir).tar.gz
@echo =====================================
@for url in $(real_dir_list); do \
echo "ncftp -u $$url"; \
echo "ncftp -u $$url/"; \
done
@echo '# put $(distdir).tar.gz'
@echo '# send the /tmp/announcement e-mail'
@echo 'pot-mail $(distdir).tar.gz | bash'
@echo =====================================

1
THANKS
View File

@@ -57,6 +57,7 @@ Marty Leisner: leisner@sdsp.mc.xerox.com
Masami Takikawa: takikawm@CS.ORST.EDU
Matthew S. Levine: mslevine@theory.lcs.mit.edu
Matthew Swift: swift@alum.mit.edu
Matthias Urlichs: smurf@noris.de
Michiel Bacchiani: bacchian@raven.bu.edu
Miles Bader: miles@gnu.ai.mit.edu
Noel Cragg: noel@red-bean.com

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -107,6 +112,7 @@ MAKEINFO = makeinfo --no-split
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
TEXI2DVI = texi2dvi
INFO_DEPS = fileutils.info
DVIS = fileutils.dvi
@@ -115,7 +121,7 @@ DIST_COMMON = Makefile.am Makefile.in mdate-sh stamp-vti texinfo.tex \
version.texi
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -296,6 +302,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info
info-am: $(INFO_DEPS)
info: info-am

View File

@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{1999-03-31.13}%
\def\texinfoversion{1999-04-22.19}%
%
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
% Free Software Foundation, Inc.
@@ -67,7 +67,6 @@
\catcode`+=\active \catcode`\_=\active}
% Save some parts of plain tex whose names we will redefine.
\let\ptexb=\b
\let\ptexbullet=\bullet
\let\ptexc=\c
@@ -87,6 +86,13 @@
% For @tex, we can use \tabalign.
\let\+ = \relax
% Get ready for pdf.
\newif\ifpdf
\ifx\pdfoutput\undefined\else
\input pdfcolor
\pdfoutput=1
\pdftrue
\fi
\message{Basics,}
\chardef\other=12
@@ -245,6 +251,8 @@
\unvbox\footlinebox
\fi
%
\ifpdf\pdfmkdest{\the\pageno}\fi
%
\ifcropmarks
\egroup % end of \vbox\bgroup
\hfil\egroup % end of (centering) \line\bgroup
@@ -842,6 +850,126 @@ where each line of input produces a line of output.}
\outer\def\bye{\pagealignmacro\tracingstats=1\ptexend}
\message{pdf,}
% adobe `portable' document format
\newcount\tempnum
\newcount\lnkcount
\newtoks\filename
\newcount\filenamelength
\newcount\pgn
\ifpdf
\def\pdfmkdest#1{\pdfdest name{#1@} xyz}
\def\pdfmkpgn#1{#1@}
% Adding outlines to PDF; macros for calculating structure of outlines
% come from Petr Olsak
\def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
\else \csname#1\endcsname \fi}
\def\advancenumber#1{\tempnum=\expnumber{#1}\relax
\advance\tempnum by1
\expandafter\xdef\csname#1\endcsname{\the\tempnum}}
\def\pdfmakeoutlines{{%
\openin 1 \jobname.toc
\ifeof 1\else\bgroup
\closein 1
\def\code##1{##1}
\def\file##1{##1}
\def\TeX##1{TeX}
\def\tt{}
\def\char{char}
\def\samp##1{##1}
\def\kbd##1{##1}
\def\key##1{##1}
\def\rawbackslashxx{\string\\}
\def\chapentry ##1##2##3{}
\def\unnumbchapentry ##1##2{}
\def\secentry ##1##2##3##4{\advancenumber{chap##2}}
\def\unnumbsecentry ##1##2{}
\def\subsecentry ##1##2##3##4##5{\advancenumber{sec##2.##3}}
\def\unnumbsubsecentry ##1##2{}
\def\subsubsecentry ##1##2##3##4##5##6{\advancenumber{subsec##2.##3.##4}}
\def\unnumbsubsubsecentry ##1##2{}
\input \jobname.toc
\def\chapentry ##1##2##3{%
\pdfoutline goto name{\pdfmkpgn{##3}}count-\expnumber{chap##2}{##1}}
\def\unnumbchapentry ##1##2{%
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
\def\secentry ##1##2##3##4{%
\pdfoutline goto name{\pdfmkpgn{##4}}count-\expnumber{sec##2.##3}{##1}}
\def\unnumbsecentry ##1##2{%
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
\def\subsecentry ##1##2##3##4##5{%
\pdfoutline goto name{\pdfmkpgn{##5}}count-\expnumber{subsec##2.##3.##4}{##1}}
\def\unnumbsubsecentry ##1##2{%
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
\def\subsubsecentry ##1##2##3##4##5##6{%
\pdfoutline goto name{\pdfmkpgn{##6}}{##1}}
\def\unnumbsubsubsecentry ##1##2{%
\pdfoutline goto name{\pdfmkpgn{##2}}{##1}}
\input \jobname.toc
\egroup\fi
}}
\pdfmakeoutlines
\def\makelinks #1,{%
\def\params{#1}\def\E{END}%
\ifx\params\E
\let\nextmakelinks=\relax
\else
\let\nextmakelinks=\makelinks
\ifnum\lnkcount>0,\fi
\picknum{#1}%
\Blue\pdfannotlink attr{/Border [0 0 0]}
goto name{\pdfmkpgn{\the\pgn}}%
#1%
\advance\lnkcount by 1%
\Black\pdfendlink
\fi
\nextmakelinks
}
\def\picknum#1{\expandafter\pn#1}
\def\pn#1{%
\def\p{#1}%
\ifx\p\lbrace
\let\nextpn=\ppn
\else
\let\nextpn=\ppnn
\def\first{#1}
\fi
\nextpn
}
\def\ppn#1{\pgn=#1\gobble}
\def\ppnn{\pgn=\first}
\def\pdfmklnk#1{\lnkcount=0\makelinks #1,END,}
\def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
\def\skipspaces#1{\def\PP{#1}\def\D{|}%
\ifx\PP\D\let\nextsp\relax
\else\let\nextsp\skipspaces
\ifx\p\space\else\addtokens{\filename}{\PP}%
\advance\filenamelength by 1
\fi
\fi
\nextsp}
\def\getfilename#1{\filenamelength=0\expandafter\skipspaces#1|\relax}
\def\pdflink#1{%
\leavevmode\Red
\begingroup
\normalturnoffactive\def\@{@}%
\pdfannotlink
attr{/Border [0 0 0]}%
user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
\endgroup
}
\else
\let\pdflink = \gobble
\fi % end \ifpdf
\message{fonts,}
% Font-change commands.
@@ -1208,23 +1336,43 @@ where each line of input produces a line of output.}
%
\def\uref#1{\douref #1,,,\finish}
\def\douref#1,#2,#3,#4\finish{%
\pdflink{#1}%
\setbox0 = \hbox{\ignorespaces #3}%
\ifdim\wd0 > 0pt
\unhbox0 % third arg given, show only that
\else
\setbox0 = \hbox{\ignorespaces #2}%
\ifdim\wd0 > 0pt
\unhbox0\ (\code{#1})% second arg given, show both it and url
\ifpdf
\unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url
\else
\unhbox0 % PDF: 2nd arg given, show only it
\fi
\else
\code{#1}% only url given, so show it
\fi
\fi
%
\ifpdf
\Black\pdfendlink
\fi
}
% rms does not like the angle brackets --karl, 17may97.
% So now @email is just like @uref.
% rms does not like angle brackets --karl, 17may97.
% So now @email is just like @uref, unless we are pdf.
%
%\def\email#1{\angleleft{\tt #1}\angleright}
\let\email=\uref
\ifpdf
\def\email#1{\doemail#1,,\finish}
\def\doemail#1,#2,#3\finish{%
\pdflink{mailto:#1}%
\setbox0 = \hbox{\ignorespaces #2}%
\ifdim\wd0>0pt\unhbox0\else\code{#1}\fi
\Black\pdfendlink
}
\else
\let\email=\uref
\fi
% Check if we are currently using a typewriter font. Since all the
% Computer Modern typewriter fonts have zero interword stretch (and
@@ -1908,10 +2056,11 @@ where each line of input produces a line of output.}
\go
}
% multitable syntax
\def\tab{&\hskip1sp\relax} % 2/2/96
% tiny skip here makes sure this column space is
% maintained, even if it is never used.
% This used to have \hskip1sp. But then the space in a template line is
% not enough. That is bad. So let's go back to just & until we
% encounter the problem it was intended to solve again.
% --karl, nathan@acm.org, 20apr99.
\def\tab{&}
% @multitable ... @end multitable definitions:
%
@@ -3029,7 +3178,7 @@ width0pt\relax} \fi
\message{sectioning,}
% Define chapters, sections, etc.
% Chapters, sections, etc.
\newcount\chapno
\newcount\secno \secno=0
@@ -3511,6 +3660,7 @@ width0pt\relax} \fi
\message{toc,}
% Table of contents.
\newwrite\tocfile
% Write an entry to the toc file, opening it if necessary.
@@ -3607,6 +3757,10 @@ width0pt\relax} \fi
}
\let\shortcontents = \summarycontents
\ifpdf
\pdfcatalog{/PageMode /UseOutlines}%
\fi
% These macros generate individual entries in the table of contents.
% The first argument is the chapter or section name.
% The last argument is the page number.
@@ -3715,6 +3869,7 @@ width0pt\relax} \fi
\message{environments,}
% @foo ... @end foo.
% Since these characters are used in examples, it should be an even number of
% \tt widths. Each \tt character is 1en, so two makes it 1em.
@@ -4038,8 +4193,9 @@ width0pt\relax} \fi
\message{defuns,}
% Define formatter for defuns
% First, allow user to change definition object font (\df) internally
% @defun etc.
% Allow user to change definition object font (\df) internally
\def\setdeffont #1 {\csname DEF#1\endcsname}
\newskip\defbodyindent \defbodyindent=.4in
@@ -4293,12 +4449,13 @@ width0pt\relax} \fi
% First, define the processing that is wanted for arguments of \defun
% Use this to expand the args and terminate the paragraph they make up
\def\defunargs #1{\functionparens \sl
\def\defunargs#1{\functionparens \sl
% Expand, preventing hyphenation at `-' chars.
% Note that groups don't affect changes in \hyphenchar.
\hyphenchar\tensl=0
% Set the font temporarily and use \font in case \setfont made \tensl a macro.
{\tensl\hyphenchar\font=0}%
#1%
\hyphenchar\tensl=45
{\tensl\hyphenchar\font=45}%
\ifnum\parencount=0 \else \errmessage{Unbalanced parentheses in @def}\fi%
\interlinepenalty=10000
\advance\rightskip by 0pt plus 1fil
@@ -4843,6 +5000,8 @@ width0pt\relax} \fi
\message{cross references,}
% @xref etc.
\newwrite\auxfile
\newif\ifhavexrefs % True if xref values are known.
@@ -4908,6 +5067,7 @@ width0pt\relax} \fi
%
\def\setref#1#2{{%
\indexdummies
\ifpdf \pdfmkdest{#1}\fi
\dosetq{#1-title}{Ytitle}%
\dosetq{#1-pg}{Ypagenumber}%
\dosetq{#1-snt}{#2}%
@@ -4955,6 +5115,19 @@ width0pt\relax} \fi
% are best written with fairly long node names, containing hyphens, this
% is a loss. Therefore, we give the text of the node name again, so it
% is as if TeX is seeing it for the first time.
\ifpdf
\leavevmode
\getfilename{#4}%
\ifnum\filenamelength>0
\pdfannotlink attr{/Border [0 0 0]}%
goto file{\the\filename.pdf} name{#1@}%
\else
\pdfannotlink attr{/Border [0 0 0]}%
goto name{#1@}%
\fi
\BlueGreen
\fi
%
\ifdim \wd1 > 0pt
\putwordsection{} ``\printednodename'' \putwordin{} \cite{\printedmanual}%
\else
@@ -4974,6 +5147,7 @@ width0pt\relax} \fi
% page 3
\turnoffactive \putwordpage\tie\refx{#1-pg}{}%
\fi
\ifpdf \Black\pdfendlink \fi
\endgroup}
% \dosetq is the interface for calls from other macros
@@ -5347,6 +5521,7 @@ width0pt\relax} \fi
\message{localization,}
% and i18n.
% @documentlanguage is usually given very early, just after
% @setfilename. If done too late, it may not override everything
@@ -5406,8 +5581,7 @@ should work if nowhere else does.}
% Allow us to assign to \emergencystretch anyway.
\def\emergencystretch{\dimen0}%
\else
\emergencystretch = \hsize
\divide\emergencystretch by 40
\emergencystretch = .15\hsize
\fi
}
@@ -5517,6 +5691,7 @@ should work if nowhere else does.}
%
\letterpaper
\message{and turning on texinfo input format.}
% Define macros to output various characters with catcode for normal text.

View File

@@ -12,7 +12,8 @@ closeout.c dirname.c exclude.c filemode.c \
full-write.c human.c idcache.c \
isdir.c long-options.c makepath.c modechange.c hash.c path-concat.c \
quotearg.c safe-read.c save-cwd.c savedir.c stripslash.c userspec.c \
version-etc.c xgetcwd.c xmalloc.c xstrdup.c xstrtol.c xstrtoul.c yesno.c
version-etc.c xgetcwd.c xmalloc.c xstrdup.c \
xstrtol.c xstrtoul.c xstrtoumax.c yesno.c
libfu_a_LIBADD = @LIBOBJS@ @ALLOCA@
libfu_a_DEPENDENCIES = $(libfu_a_LIBADD)
@@ -22,7 +23,7 @@ dirname.h error.h exclude.h filemode.h fnmatch.h fsusage.h \
getdate.h getline.h getopt.h group-member.h human.h lchown.h long-options.h \
makepath.h modechange.h mountlist.h hash.h path-concat.h pathmax.h \
posixtm.h quotearg.h regex.h safe-read.h save-cwd.h savedir.h strverscmp.h \
version-etc.h xalloc.h xstrtol.h xstrtoul.h
version-etc.h xalloc.h xstrtol.h
BUILT_SOURCES = getdate.c lstat.c stat.c

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -104,7 +109,8 @@ closeout.c dirname.c exclude.c filemode.c \
full-write.c human.c idcache.c \
isdir.c long-options.c makepath.c modechange.c hash.c path-concat.c \
quotearg.c safe-read.c save-cwd.c savedir.c stripslash.c userspec.c \
version-etc.c xgetcwd.c xmalloc.c xstrdup.c xstrtol.c xstrtoul.c yesno.c
version-etc.c xgetcwd.c xmalloc.c xstrdup.c \
xstrtol.c xstrtoul.c xstrtoumax.c yesno.c
libfu_a_LIBADD = @LIBOBJS@ @ALLOCA@
@@ -115,7 +121,7 @@ dirname.h error.h exclude.h filemode.h fnmatch.h fsusage.h \
getdate.h getline.h getopt.h group-member.h human.h lchown.h long-options.h \
makepath.h modechange.h mountlist.h hash.h path-concat.h pathmax.h \
posixtm.h quotearg.h regex.h safe-read.h save-cwd.h savedir.h strverscmp.h \
version-etc.h xalloc.h xstrtol.h xstrtoul.h
version-etc.h xalloc.h xstrtol.h
BUILT_SOURCES = getdate.c lstat.c stat.c
@@ -132,18 +138,21 @@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
ANSI2KNR = ../src/ansi2knr
libfu_a_OBJECTS = getdate$U.o posixtm$U.o getopt$U.o getopt1$U.o \
am_libfu_a_OBJECTS = getdate$U.o posixtm$U.o getopt$U.o getopt1$U.o \
addext$U.o argmatch$U.o backupfile$U.o basename$U.o closeout$U.o \
dirname$U.o exclude$U.o filemode$U.o full-write$U.o human$U.o \
idcache$U.o isdir$U.o long-options$U.o makepath$U.o modechange$U.o \
hash$U.o path-concat$U.o quotearg$U.o safe-read$U.o save-cwd$U.o \
savedir$U.o stripslash$U.o userspec$U.o version-etc$U.o xgetcwd$U.o \
xmalloc$U.o xstrdup$U.o xstrtol$U.o xstrtoul$U.o yesno$U.o
xmalloc$U.o xstrdup$U.o xstrtol$U.o xstrtoul$U.o xstrtoumax$U.o \
yesno$U.o
libfu_a_OBJECTS = $(am_libfu_a_OBJECTS)
AR = ar
CFLAGS = @CFLAGS@
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(libfu_a_SOURCES)
HEADERS = $(noinst_HEADERS)
DIST_COMMON = $(noinst_HEADERS) Makefile.am Makefile.in TODO alloca.c \
@@ -152,11 +161,11 @@ ftruncate.c getdate.c getgroups.c getline.c group-member.c lchown.c \
lstat.c malloc.c memcmp.c memcpy.c memset.c mkdir.c mktime.c \
mountlist.c obstack.c obstack.h realloc.c regex.c rename.c rmdir.c \
rpmatch.c stat.c stpcpy.c strcasecmp.c strdup.c strftime.c \
strncasecmp.c strndup.c strstr.c strtol.c strtoul.c strverscmp.c \
utime.c
strncasecmp.c strndup.c strstr.c strtol.c strtoul.c strtoull.c \
strtoumax.c strverscmp.c utime.c
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
DEP_FILES = .deps/addext.P .deps/alloca.P .deps/argmatch.P \
@@ -174,15 +183,16 @@ DEP_FILES = .deps/addext.P .deps/alloca.P .deps/argmatch.P \
.deps/safe-read.P .deps/save-cwd.P .deps/savedir.P .deps/stat.P \
.deps/stpcpy.P .deps/strcasecmp.P .deps/strdup.P .deps/strftime.P \
.deps/stripslash.P .deps/strncasecmp.P .deps/strndup.P .deps/strstr.P \
.deps/strtol.P .deps/strtoul.P .deps/strverscmp.P .deps/userspec.P \
.deps/utime.P .deps/version-etc.P .deps/xgetcwd.P .deps/xmalloc.P \
.deps/xstrdup.P .deps/xstrtol.P .deps/xstrtoul.P .deps/yesno.P
.deps/strtol.P .deps/strtoul.P .deps/strtoull.P .deps/strtoumax.P \
.deps/strverscmp.P .deps/userspec.P .deps/utime.P .deps/version-etc.P \
.deps/xgetcwd.P .deps/xmalloc.P .deps/xstrdup.P .deps/xstrtol.P \
.deps/xstrtoul.P .deps/xstrtoumax.P .deps/yesno.P
SOURCES = $(libfu_a_SOURCES)
OBJECTS = $(libfu_a_OBJECTS)
OBJECTS = $(am_libfu_a_OBJECTS)
all: all-redirect
.SUFFIXES:
.SUFFIXES: .S .c .o .s .y
.SUFFIXES: .c .o .y
$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnits lib/Makefile
@@ -200,12 +210,6 @@ distclean-noinstLIBRARIES:
maintainer-clean-noinstLIBRARIES:
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile:
-rm -f *.o core *.core
@@ -230,11 +234,49 @@ clean-kr:
distclean-kr:
maintainer-clean-kr:
getdate$U.o:
posixtm$U.o:
getopt$U.o:
getopt1$U.o:
addext$U.o:
argmatch$U.o:
backupfile$U.o:
basename$U.o:
closeout$U.o:
dirname$U.o:
exclude$U.o:
filemode$U.o:
full-write$U.o:
human$U.o:
idcache$U.o:
isdir$U.o:
long-options$U.o:
makepath$U.o:
modechange$U.o:
hash$U.o:
path-concat$U.o:
quotearg$U.o:
safe-read$U.o:
save-cwd$U.o:
savedir$U.o:
stripslash$U.o:
userspec$U.o:
version-etc$U.o:
xgetcwd$U.o:
xmalloc$U.o:
xstrdup$U.o:
xstrtol$U.o:
xstrtoul$U.o:
xstrtoumax$U.o:
yesno$U.o:
libfu.a: $(libfu_a_OBJECTS) $(libfu_a_DEPENDENCIES)
-rm -f libfu.a
$(AR) cru libfu.a $(libfu_a_OBJECTS) $(libfu_a_LIBADD)
$(RANLIB) libfu.a
getdate.o:
lstat.o:
stat.o:
addext_.c: addext.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/addext.c; then echo $(srcdir)/addext.c; else echo addext.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > addext_.c
alloca_.c: alloca.c $(ANSI2KNR)
@@ -359,6 +401,10 @@ strtol_.c: strtol.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtol.c; then echo $(srcdir)/strtol.c; else echo strtol.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtol_.c
strtoul_.c: strtoul.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtoul.c; then echo $(srcdir)/strtoul.c; else echo strtoul.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtoul_.c
strtoull_.c: strtoull.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtoull.c; then echo $(srcdir)/strtoull.c; else echo strtoull.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtoull_.c
strtoumax_.c: strtoumax.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strtoumax.c; then echo $(srcdir)/strtoumax.c; else echo strtoumax.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strtoumax_.c
strverscmp_.c: strverscmp.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/strverscmp.c; then echo $(srcdir)/strverscmp.c; else echo strverscmp.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > strverscmp_.c
userspec_.c: userspec.c $(ANSI2KNR)
@@ -377,6 +423,8 @@ xstrtol_.c: xstrtol.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrtol.c; then echo $(srcdir)/xstrtol.c; else echo xstrtol.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrtol_.c
xstrtoul_.c: xstrtoul.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrtoul.c; then echo $(srcdir)/xstrtoul.c; else echo xstrtoul.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrtoul_.c
xstrtoumax_.c: xstrtoumax.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/xstrtoumax.c; then echo $(srcdir)/xstrtoumax.c; else echo xstrtoumax.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > xstrtoumax_.c
yesno_.c: yesno.c $(ANSI2KNR)
$(CPP) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) `if test -f $(srcdir)/yesno.c; then echo $(srcdir)/yesno.c; else echo yesno.c; fi` | sed 's/^# \([0-9]\)/#line \1/' | $(ANSI2KNR) > yesno_.c
addext_.o alloca_.o argmatch_.o backupfile_.o basename_.o chown_.o \
@@ -389,15 +437,14 @@ modechange_.o mountlist_.o obstack_.o path-concat_.o posixtm_.o \
quotearg_.o realloc_.o regex_.o rename_.o rmdir_.o rpmatch_.o \
safe-read_.o save-cwd_.o savedir_.o stat_.o stpcpy_.o strcasecmp_.o \
strdup_.o strftime_.o stripslash_.o strncasecmp_.o strndup_.o strstr_.o \
strtol_.o strtoul_.o strverscmp_.o userspec_.o utime_.o version-etc_.o \
xgetcwd_.o xmalloc_.o xstrdup_.o xstrtol_.o xstrtoul_.o yesno_.o : \
$(ANSI2KNR)
strtol_.o strtoul_.o strtoull_.o strtoumax_.o strverscmp_.o userspec_.o \
utime_.o version-etc_.o xgetcwd_.o xmalloc_.o xstrdup_.o xstrtol_.o \
xstrtoul_.o xstrtoumax_.o yesno_.o : $(ANSI2KNR)
.y.c:
$(YACC) $(AM_YFLAGS) $(YFLAGS) $< && mv y.tab.c $*.c
if test -f y.tab.h; then \
if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \
else :; fi
getdate..h: getdate.c
tags: TAGS
@@ -450,6 +497,7 @@ distdir: $(DISTFILES)
fi; \
done
DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
-include $(DEP_FILES)
@@ -465,22 +513,22 @@ maintainer-clean-depend:
%.o: %.c
@echo '$(COMPILE) -c $<'; \
$(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
@-cp .deps/$(*F).pp .deps/$(*F).P; \
tr ' ' '\012' < .deps/$(*F).pp \
$(COMPILE) -Wp,-MD,.deps/$(*D)/$(*F).pp -c $<
@-cp .deps/$(*D)/$(*F).pp .deps/$(*D)/$(*F).P; \
tr ' ' '\012' < .deps/$(*D)/$(*F).pp \
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
>> .deps/$(*F).P; \
rm .deps/$(*F).pp
>> .deps/$(*D)/$(*F).P; \
rm .deps/$(*D)/$(*F).pp
%.lo: %.c
@echo '$(LTCOMPILE) -c $<'; \
$(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
$(LTCOMPILE) -Wp,-MD,.deps/$(*D)/$(*F).pp -c $<
@-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
< .deps/$(*F).pp > .deps/$(*F).P; \
tr ' ' '\012' < .deps/$(*F).pp \
< .deps/$(*D)/$(*F).pp > .deps/$(*D)/$(*F).P; \
tr ' ' '\012' < .deps/$(*D)/$(*F).pp \
| sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
>> .deps/$(*F).P; \
rm -f .deps/$(*F).pp
>> .deps/$(*D)/$(*F).P; \
rm -f .deps/$(*D)/$(*F).pp
info-am:
info: info-am
dvi-am:
@@ -516,7 +564,7 @@ distclean-generic:
-rm -f config.cache config.log stamp-h stamp-h[0-9]*
maintainer-clean-generic:
-test -z "getdate..hgetdate.c$(BUILT_SOURCES)" || rm -f getdate..h getdate.c $(BUILT_SOURCES)
-test -z "getdate.c$(BUILT_SOURCES)" || rm -f getdate.c $(BUILT_SOURCES)
mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
mostlyclean-kr mostlyclean-tags mostlyclean-depend \
mostlyclean-generic

View File

@@ -28,6 +28,10 @@
#include <stdio.h>
#include <ctype.h>
#if HAVE_STDLIB_H
# include <stdlib.h> /* for `free'; used by Bison 1.27 */
#endif
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# define IN_CTYPE_DOMAIN(c) 1
#else
@@ -706,7 +710,7 @@ LookupWord (buff)
/* Make it lowercase. */
for (p = buff; *p; p++)
if (ISUPPER (*p))
if (ISUPPER ((unsigned char) *p))
*p = tolower (*p);
if (strcmp (buff, "am") == 0 || strcmp (buff, "a.m.") == 0)
@@ -787,7 +791,7 @@ LookupWord (buff)
}
/* Military timezones. */
if (buff[1] == '\0' && ISALPHA (*buff))
if (buff[1] == '\0' && ISALPHA ((unsigned char) *buff))
{
for (tp = MilitaryTable; tp->name; tp++)
if (strcmp (buff, tp->name) == 0)
@@ -818,7 +822,7 @@ LookupWord (buff)
static int
yylex ()
{
register char c;
register unsigned char c;
register char *p;
char buff[20];
int Count;
@@ -826,7 +830,7 @@ yylex ()
for (;;)
{
while (ISSPACE (*yyInput))
while (ISSPACE ((unsigned char) *yyInput))
yyInput++;
if (ISDIGIT (c = *yyInput) || c == '-' || c == '+')

View File

@@ -54,7 +54,7 @@ char *getenv ();
#include <argmatch.h>
#include <error.h>
#include <xstrtoul.h>
#include <xstrtol.h>
#include "human.h"

View File

@@ -1,5 +1,5 @@
/* readtokens.c -- Functions for reading tokens from an input stream.
Copyright (C) 1990-1991 Jim Meyering.
Copyright (C) 1990-1991, 1999 Jim Meyering.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -77,11 +77,10 @@ init_tokenbuffer (tokenbuffer)
and on files that aren't newline-terminated. */
long
readtoken (stream, delim, n_delim, tokenbuffer)
FILE *stream;
const char *delim;
int n_delim;
token_buffer *tokenbuffer;
readtoken (FILE *stream,
const char *delim,
int n_delim,
token_buffer *tokenbuffer)
{
char *p;
int c, i, n;
@@ -164,14 +163,12 @@ readtoken (stream, delim, n_delim, tokenbuffer)
%%% realloc() of `tokens' just before returning? */
int
readtokens (stream, projected_n_tokens, delim, n_delim,
tokens_out, token_lengths)
FILE *stream;
int projected_n_tokens;
const char *delim;
int n_delim;
char ***tokens_out;
long **token_lengths;
readtokens (FILE *stream,
int projected_n_tokens,
const char *delim,
int n_delim,
char ***tokens_out,
long **token_lengths)
{
token_buffer tb, *token = &tb;
int token_length;

View File

@@ -1,7 +1,7 @@
/* strtol - Convert string representation of a number into an integer value.
Copyright (C) 1991, 92, 94, 95, 96, 97 Free Software Foundation, Inc.
/* Convert string representation of a number into an integer value.
Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
Library. Bugs can be reported to bug-glibc@prep.ai.mit.edu.
Library. Bugs can be reported to bug-glibc@gnu.org.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -54,7 +54,7 @@ extern int errno;
# include "../locale/localeinfo.h"
#endif
/* Nonzero if we are defining `strtoul' or `strtouq', operating on
/* Nonzero if we are defining `strtoul' or `strtoull', operating on
unsigned integers. */
#ifndef UNSIGNED
# define UNSIGNED 0
@@ -64,72 +64,129 @@ extern int errno;
#endif
/* Determine the name. */
#if UNSIGNED
# ifdef USE_WIDE_CHAR
# ifdef QUAD
# define strtol wcstouq
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
# if UNSIGNED
# ifdef USE_WIDE_CHAR
# ifdef QUAD
# define strtol __wcstoull_l
# else
# define strtol __wcstoul_l
# endif
# else
# define strtol wcstoul
# ifdef QUAD
# define strtol __strtoull_l
# else
# define strtol __strtoul_l
# endif
# endif
# else
# ifdef QUAD
# define strtol strtouq
# ifdef USE_WIDE_CHAR
# ifdef QUAD
# define strtol __wcstoll_l
# else
# define strtol __wcstol_l
# endif
# else
# define strtol strtoul
# ifdef QUAD
# define strtol __strtoll_l
# else
# define strtol __strtol_l
# endif
# endif
# endif
#else
# ifdef USE_WIDE_CHAR
# ifdef QUAD
# define strtol wcstoq
# if UNSIGNED
# ifdef USE_WIDE_CHAR
# ifdef QUAD
# define strtol wcstoull
# else
# define strtol wcstoul
# endif
# else
# define strtol wcstol
# ifdef QUAD
# define strtol strtoull
# else
# define strtol strtoul
# endif
# endif
# else
# ifdef QUAD
# define strtol strtoq
# ifdef USE_WIDE_CHAR
# ifdef QUAD
# define strtol wcstoll
# else
# define strtol wcstol
# endif
# else
# ifdef QUAD
# define strtol strtoll
# endif
# endif
# endif
#endif
/* If QUAD is defined, we are defining `strtoq' or `strtouq',
/* If QUAD is defined, we are defining `strtoll' or `strtoull',
operating on `long long int's. */
#ifdef QUAD
# define LONG long long
# undef LONG_MIN
# define LONG_MIN LONG_LONG_MIN
# undef LONG_MAX
# define LONG_MAX LONG_LONG_MAX
# undef ULONG_MAX
# define ULONG_MAX ULONG_LONG_MAX
# define STRTOL_LONG_MIN LONG_LONG_MIN
# define STRTOL_LONG_MAX LONG_LONG_MAX
# define STRTOL_ULONG_MAX ULONG_LONG_MAX
# if __GNUC__ == 2 && __GNUC_MINOR__ < 7
/* Work around gcc bug with using this constant. */
static const unsigned long long int maxquad = ULONG_LONG_MAX;
# undef ULONG_MAX
# define ULONG_MAX maxquad
# undef STRTOL_ULONG_MAX
# define STRTOL_ULONG_MAX maxquad
# endif
#else
# define LONG long
#ifndef ULONG_MAX
# define ULONG_MAX ((unsigned long) ~(unsigned long) 0)
# ifndef ULONG_MAX
# define ULONG_MAX ((unsigned long) ~(unsigned long) 0)
# endif
# ifndef LONG_MAX
# define LONG_MAX ((long int) (ULONG_MAX >> 1))
# endif
# define STRTOL_LONG_MIN LONG_MIN
# define STRTOL_LONG_MAX LONG_MAX
# define STRTOL_ULONG_MAX ULONG_MAX
#endif
#ifndef LONG_MAX
# define LONG_MAX ((long int) (ULONG_MAX >> 1))
/* We use this code also for the extended locale handling where the
function gets as an additional argument the locale which has to be
used. To access the values we have to redefine the _NL_CURRENT
macro. */
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
# undef _NL_CURRENT
# define _NL_CURRENT(category, item) \
(current->values[_NL_ITEM_INDEX (item)].string)
# define LOCALE_PARAM , loc
# define LOCALE_PARAM_DECL __locale_t loc;
#else
# define LOCALE_PARAM
# define LOCALE_PARAM_DECL
#endif
#if defined _LIBC || defined HAVE_WCHAR_H
# include <wchar.h>
#endif
#ifdef USE_WIDE_CHAR
# include <wchar.h>
# include <wctype.h>
# define L_(Ch) L##Ch
# define UCHAR_TYPE wint_t
# define STRING_TYPE wchar_t
# define ISSPACE(Ch) iswspace (Ch)
# define ISALPHA(Ch) iswalpha (Ch)
# define TOUPPER(Ch) towupper (Ch)
# ifdef USE_IN_EXTENDED_LOCALE_MODEL
# define ISSPACE(Ch) __iswspace_l ((Ch), loc)
# define ISALPHA(Ch) __iswalpha_l ((Ch), loc)
# define TOUPPER(Ch) __towupper_l ((Ch), loc)
# else
# define ISSPACE(Ch) iswspace (Ch)
# define ISALPHA(Ch) iswalpha (Ch)
# define TOUPPER(Ch) towupper (Ch)
# endif
#else
# if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# if defined STDC_HEADERS || (!defined isascii && !defined HAVE_ISASCII)
# define IN_CTYPE_DOMAIN(c) 1
# else
# define IN_CTYPE_DOMAIN(c) isascii(c)
@@ -137,9 +194,15 @@ extern int errno;
# define L_(Ch) Ch
# define UCHAR_TYPE unsigned char
# define STRING_TYPE char
# define ISSPACE(Ch) (IN_CTYPE_DOMAIN (Ch) && isspace (Ch))
# define ISALPHA(Ch) (IN_CTYPE_DOMAIN (Ch) && isalpha (Ch))
# define TOUPPER(Ch) (IN_CTYPE_DOMAIN (Ch) ? toupper (Ch) : (Ch))
# ifdef USE_IN_EXTENDED_LOCALE_MODEL
# define ISSPACE(Ch) __isspace_l ((Ch), loc)
# define ISALPHA(Ch) __isalpha_l ((Ch), loc)
# define TOUPPER(Ch) __toupper_l ((Ch), loc)
# else
# define ISSPACE(Ch) (IN_CTYPE_DOMAIN (Ch) && isspace (Ch))
# define ISALPHA(Ch) (IN_CTYPE_DOMAIN (Ch) && isalpha (Ch))
# define TOUPPER(Ch) (IN_CTYPE_DOMAIN (Ch) ? toupper (Ch) : (Ch))
# endif
#endif
#ifdef __STDC__
@@ -156,6 +219,7 @@ extern int errno;
#endif
/* Convert NPTR to an `unsigned long int' or `long int' in base BASE.
If BASE is 0 the base is determined by the presence of a leading
zero, indicating octal or a leading "0x" or "0X", indicating hexadecimal.
@@ -164,11 +228,12 @@ extern int errno;
one converted is stored in *ENDPTR. */
INT
INTERNAL (strtol) (nptr, endptr, base, group)
INTERNAL (strtol) (nptr, endptr, base, group LOCALE_PARAM)
const STRING_TYPE *nptr;
STRING_TYPE **endptr;
int base;
int group;
LOCALE_PARAM_DECL
{
int negative;
register unsigned LONG int cutoff;
@@ -180,8 +245,11 @@ INTERNAL (strtol) (nptr, endptr, base, group)
int overflow;
#ifdef USE_NUMBER_GROUPING
# ifdef USE_IN_EXTENDED_LOCALE_MODEL
struct locale_data *current = loc->__locales[LC_NUMERIC];
# endif
/* The thousands character of the current locale. */
wchar_t thousands;
wchar_t thousands = L'\0';
/* The numeric grouping specification of the current locale,
in the format described in <locale.h>. */
const char *grouping;
@@ -194,9 +262,11 @@ INTERNAL (strtol) (nptr, endptr, base, group)
else
{
/* Figure out the thousands separator character. */
if (mbtowc (&thousands, _NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP),
strlen (_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP))) <= 0)
thousands = (wchar_t) *_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP);
# if defined _LIBC || defined _HAVE_BTOWC
thousands = __btowc (*_NL_CURRENT (LC_NUMERIC, THOUSANDS_SEP));
if (thousands == WEOF)
thousands = L'\0';
# endif
if (thousands == L'\0')
grouping = NULL;
}
@@ -233,23 +303,19 @@ INTERNAL (strtol) (nptr, endptr, base, group)
else
negative = 0;
if (base == 16 && s[0] == L_('0') && TOUPPER (s[1]) == L_('X'))
s += 2;
/* If BASE is zero, figure it out ourselves. */
if (base == 0)
if (*s == L_('0'))
{
if (TOUPPER (s[1]) == L_('X'))
{
s += 2;
base = 16;
}
else
base = 8;
}
else
base = 10;
/* Recognize number prefix and if BASE is zero, figure it out ourselves. */
if (*s == L_('0'))
{
if ((base == 0 || base == 16) && TOUPPER (s[1]) == L_('X'))
{
s += 2;
base = 16;
}
else if (base == 0)
base = 8;
}
else if (base == 0)
base = 10;
/* Save the pointer so we can check later if anything happened. */
save = s;
@@ -273,8 +339,8 @@ INTERNAL (strtol) (nptr, endptr, base, group)
#endif
end = NULL;
cutoff = ULONG_MAX / (unsigned LONG int) base;
cutlim = ULONG_MAX % (unsigned LONG int) base;
cutoff = STRTOL_ULONG_MAX / (unsigned LONG int) base;
cutlim = STRTOL_ULONG_MAX % (unsigned LONG int) base;
overflow = 0;
i = 0;
@@ -314,25 +380,23 @@ INTERNAL (strtol) (nptr, endptr, base, group)
`unsigned LONG int', but outside the range of `LONG int'. */
if (overflow == 0
&& i > (negative
? -((unsigned LONG int) (LONG_MIN + 1)) + 1
: (unsigned LONG int) LONG_MAX))
? -((unsigned LONG int) (STRTOL_LONG_MIN + 1)) + 1
: (unsigned LONG int) STRTOL_LONG_MAX))
overflow = 1;
#else
overflow |= negative;
#endif
if (overflow)
{
__set_errno (ERANGE);
#if UNSIGNED
return ULONG_MAX;
return STRTOL_ULONG_MAX;
#else
return negative ? LONG_MIN : LONG_MAX;
return negative ? STRTOL_LONG_MIN : STRTOL_LONG_MAX;
#endif
}
/* Return the result of the appropriate sign. */
return (negative ? -i : i);
return negative ? -i : i;
noconv:
/* We must handle a special case here: the base is 0 or 16 and the
@@ -340,12 +404,14 @@ noconv:
hexadecimal digits. This is no error case. We return 0 and
ENDPTR points to the `x`. */
if (endptr != NULL)
if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X')
&& save[-2] == L_('0'))
*endptr = (STRING_TYPE *) &save[-1];
else
/* There was no number to convert. */
*endptr = (STRING_TYPE *) nptr;
{
if (save - nptr >= 2 && TOUPPER (save[-1]) == L_('X')
&& save[-2] == L_('0'))
*endptr = (STRING_TYPE *) &save[-1];
else
/* There was no number to convert. */
*endptr = (STRING_TYPE *) nptr;
}
return 0L;
}
@@ -369,10 +435,11 @@ INT
#ifdef weak_function
weak_function
#endif
strtol (nptr, endptr, base)
strtol (nptr, endptr, base LOCALE_PARAM)
const STRING_TYPE *nptr;
STRING_TYPE **endptr;
int base;
LOCALE_PARAM_DECL
{
return INTERNAL (strtol) (nptr, endptr, base, 0);
return INTERNAL (strtol) (nptr, endptr, base, 0 LOCALE_PARAM);
}

27
lib/strtoull.c Normal file
View File

@@ -0,0 +1,27 @@
/* Function to parse an `unsigned long long int' from text.
Copyright (C) 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with the GNU C
Library. Bugs can be reported to bug-glibc@gnu.org.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#define QUAD 1
#include "strtoul.c"
#ifdef _LIBC
strong_alias (__strtoull_internal, __strtouq_internal)
weak_alias (strtoull, strtouq)
#endif

58
lib/strtoumax.c Normal file
View File

@@ -0,0 +1,58 @@
/* Convert string representation of a number into an uintmax_t value.
Copyright 1999 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#ifndef PARAMS
# if defined PROTOTYPES || defined __STDC__
# define PARAMS(Args) Args
# else
# define PARAMS(Args) ()
# endif
#endif
#if HAVE_UNSIGNED_LONG_LONG && ! HAVE_STRTOULL
unsigned long long strtoull PARAMS ((char const *, char **, int));
#endif
uintmax_t
strtoumax (char const *ptr, char **endptr, int base)
{
#define USE_IF_EQUIVALENT(function) \
if (sizeof (uintmax_t) == sizeof function (ptr, endptr, base)) \
return function (ptr, endptr, base);
#if HAVE_UNSIGNED_LONG_LONG
USE_IF_EQUIVALENT (strtoull)
#endif
USE_IF_EQUIVALENT (strtoul)
abort ();
}

View File

@@ -70,7 +70,7 @@ xalloc_fail (void)
{
if (xalloc_fail_func)
(*xalloc_fail_func) ();
error (xalloc_exit_failure, 0, "%s", xalloc_msg_memory_exhausted);
error (xalloc_exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted));
}
/* Allocate N bytes of memory dynamically, with error checking. */

View File

@@ -1,5 +1,5 @@
/* A more useful interface to strtol.
Copyright (C) 1995, 1996, 1998 Free Software Foundation, Inc.
Copyright 1995, 1996, 1998, 1999 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -21,6 +21,12 @@
# include <config.h>
#endif
#ifndef __strtol
# define __strtol strtol
# define __strtol_t long int
# define __xstrtol xstrtol
#endif
/* Some pre-ANSI implementations (e.g. SunOS 4)
need stderr defined if assertion checking is enabled. */
#include <stdio.h>
@@ -39,6 +45,7 @@
#endif
#include <assert.h>
#include <ctype.h>
#include <errno.h>
#ifndef errno
@@ -61,34 +68,22 @@ extern int errno;
? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
#define TYPE_MAXIMUM(t) (~ (t) 0 - TYPE_MINIMUM (t))
#ifndef ULONG_MAX
# define ULONG_MAX TYPE_MAXIMUM (unsigned long int)
#endif
#ifndef LONG_MAX
# define LONG_MAX TYPE_MAXIMUM (long int)
#endif
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
# define IN_CTYPE_DOMAIN(c) 1
#else
# define IN_CTYPE_DOMAIN(c) isascii(c)
#endif
#ifdef isblank
# define ISBLANK(c) (IN_CTYPE_DOMAIN (c) && isblank (c))
#else
# define ISBLANK(c) ((c) == ' ' || (c) == '\t')
#endif
#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c))
#include "xstrtol.h"
__unsigned long int __strtol ();
__strtol_t __strtol ();
static int
bkm_scale (__unsigned long int *x, int scale_factor)
bkm_scale (__strtol_t *x, int scale_factor)
{
__unsigned long int product = *x * scale_factor;
__strtol_t product = *x * scale_factor;
if (*x != product / scale_factor)
return 1;
*x = product;
@@ -96,7 +91,7 @@ bkm_scale (__unsigned long int *x, int scale_factor)
}
static int
bkm_scale_by_power (__unsigned long int *x, int base, int power)
bkm_scale_by_power (__strtol_t *x, int base, int power)
{
while (power--)
if (bkm_scale (x, base))
@@ -109,27 +104,24 @@ bkm_scale_by_power (__unsigned long int *x, int base, int power)
strtol_error
__xstrtol (const char *s, char **ptr, int strtol_base,
__unsigned long int *val, const char *valid_suffixes)
__strtol_t *val, const char *valid_suffixes)
{
char *t_ptr;
char **p;
__unsigned long int tmp;
__strtol_t tmp;
assert (0 <= strtol_base && strtol_base <= 36);
p = (ptr ? ptr : &t_ptr);
#if STRING_TO_UNSIGNED
{
const char *q = s;
while (ISBLANK (*q))
{
if (! TYPE_SIGNED (__strtol_t))
{
const char *q = s;
while (ISSPACE ((unsigned char) *q))
++q;
}
if (*q == '-')
return LONGINT_INVALID;
}
#endif
if (*q == '-')
return LONGINT_INVALID;
}
errno = 0;
tmp = __strtol (s, p, strtol_base);
@@ -139,8 +131,8 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
return LONGINT_INVALID;
/* Let valid_suffixes == NULL mean `allow any suffix'. */
/* FIXME: update all callers except the one in tail.c changing
last parameter NULL to `""'. */
/* FIXME: update all callers except the ones that allow suffixes
after the number, changing last parameter NULL to `""'. */
if (!valid_suffixes)
{
*val = tmp;
@@ -154,7 +146,10 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
int overflow;
if (!strchr (valid_suffixes, **p))
return LONGINT_INVALID_SUFFIX_CHAR;
{
*val = tmp;
return LONGINT_INVALID_SUFFIX_CHAR;
}
if (strchr (valid_suffixes, '0'))
{
@@ -227,6 +222,7 @@ __xstrtol (const char *s, char **ptr, int strtol_base,
break;
default:
*val = tmp;
return LONGINT_INVALID_SUFFIX_CHAR;
break;
}
@@ -258,7 +254,7 @@ main (int argc, char** argv)
for (i=1; i<argc; i++)
{
char *p;
__unsigned long int val;
__strtol_t val;
s_err = __xstrtol (argv[i], &p, 0, &val, "bckmw");
if (s_err == LONGINT_OK)

View File

@@ -1,14 +1,8 @@
#ifndef XSTRTOL_H_
# define XSTRTOL_H_ 1
# if STRING_TO_UNSIGNED
# define __xstrtol xstrtoul
# define __strtol strtoul
# define __unsigned unsigned
# else
# define __xstrtol xstrtol
# define __strtol strtol
# define __unsigned /* empty */
# if HAVE_INTTYPES_H
# include <inttypes.h> /* for uintmax_t */
# endif
# ifndef PARAMS
@@ -27,11 +21,14 @@ enum strtol_error
typedef enum strtol_error strtol_error;
# endif
strtol_error
__xstrtol PARAMS ((const char *s, char **ptr, int base,
__unsigned long int *val, const char *valid_suffixes));
# define _DECLARE_XSTRTOL(name, type) \
strtol_error \
name PARAMS ((const char *s, char **ptr, int base, \
type *val, const char *valid_suffixes));
_DECLARE_XSTRTOL (xstrtol, long int)
_DECLARE_XSTRTOL (xstrtoul, unsigned long int)
_DECLARE_XSTRTOL (xstrtoumax, uintmax_t)
# undef _STRTOL_ERROR
# define _STRTOL_ERROR(Exit_code, Str, Argument_type_string, Err) \
do \
{ \
@@ -51,8 +48,7 @@ strtol_error
break; \
\
case LONGINT_OVERFLOW: \
/* FIXME: make this message dependent on STRING_TO_UNSIGNED */\
error ((Exit_code), 0, "%s `%s' larger than maximum long int",\
error ((Exit_code), 0, "%s `%s' too large", \
(Argument_type_string), (Str)); \
break; \
} \

View File

@@ -1,2 +1,4 @@
#define STRING_TO_UNSIGNED 1
#define __strtol strtoul
#define __strtol_t unsigned long int
#define __xstrtol xstrtoul
#include "xstrtol.c"

View File

@@ -1,13 +0,0 @@
#ifndef XSTRTOUL_H_
# define XSTRTOUL_H_ 1
# define STRING_TO_UNSIGNED 1
/* Undefine this symbol so we can include xstrtol.h a second time.
Otherwise, a program that wanted both xstrtol.h and xstrtoul.h
would never get the declaration corresponding to the header file
included after the first one. */
# undef XSTRTOL_H_
# include "xstrtol.h"
#endif /* not XSTRTOUL_H_ */

31
lib/xstrtoumax.c Normal file
View File

@@ -0,0 +1,31 @@
/* xstrtoumax.c -- A more useful interface to strtoumax.
Copyright 1999 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
/* Written by Paul Eggert. */
#if HAVE_CONFIG_H
# include <config.h>
#endif
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#define __strtol strtoumax
#define __strtol_t uintmax_t
#define __xstrtol xstrtoumax
#include "xstrtol.c"

View File

@@ -1,3 +1,24 @@
1999-04-20 Jim Meyering <meyering@ascend.com>
* xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
AC_REPLACE xstroull if necessary. From Paul Eggert.
(AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
1999-04-20 Paul Eggert <eggert@twinsun.com>
* uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
* jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
jm_AC_TYPE_UNSIGNED_LONG_LONG.
* ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
* lfs.m4: Port to AIX and HP-UX. Support cross-compilation.
1999-04-18 Jim Meyering <meyering@ascend.com>
* xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
* jm-macros.m4: Use it.
1999-04-06 Jim Meyering <meyering@ascend.com>
* strftime.m4: Remove test for %f.

View File

@@ -46,10 +46,12 @@ st_mtim.m4 \
stat.m4 \
strftime.m4 \
uintmax_t.m4 \
ulonglong.m4 \
uptime.m4 \
utimbuf.m4 \
utime.m4 \
utimes.m4
utimes.m4 \
xstrtoumax.m4
##m4-files-end
Makefile.am: Makefile.am.in

View File

@@ -57,13 +57,18 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -74,21 +79,25 @@ INSTOBJEXT = @INSTOBJEXT@
INTLDEPS = @INTLDEPS@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
KMEM_GROUP = @KMEM_GROUP@
LIBOBJS = @LIBOBJS@
LIB_CRYPT = @LIB_CRYPT@
MAKEINFO = @MAKEINFO@
MAN = @MAN@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MVDIR_PROG = @MVDIR_PROG@
PACKAGE = @PACKAGE@
PERL = @PERL@
POFILES = @POFILES@
POSUB = @POSUB@
POW_LIBM = @POW_LIBM@
RANLIB = @RANLIB@
SEQ_LIBM = @SEQ_LIBM@
SQRT_LIBM = @SQRT_LIBM@
U = @U@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
YACC = @YACC@
l = @l@
@@ -137,18 +146,21 @@ st_mtim.m4 \
stat.m4 \
strftime.m4 \
uintmax_t.m4 \
ulonglong.m4 \
uptime.m4 \
utimbuf.m4 \
utime.m4 \
utimes.m4
utimes.m4 \
xstrtoumax.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = README ChangeLog Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -184,6 +196,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
info-am:
info: info-am
dvi-am:

View File

@@ -37,6 +37,7 @@ AC_DEFUN(jm_MACROS,
AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO])
AC_REQUIRE([jm_FUNC_FNMATCH])
AC_REQUIRE([jm_AFS])
AC_REQUIRE([jm_AC_PREREQ_XSTRTOUMAX])
AC_REPLACE_FUNCS(strcasecmp strncasecmp)
# By default, argmatch should fail calling usage (1).
@@ -62,4 +63,5 @@ AC_DEFUN(jm_CHECK_ALL_TYPES,
AC_CHECK_TYPE(ino_t, unsigned long)
AC_CHECK_TYPE(ssize_t, int)
AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
])

143
m4/lfs.m4
View File

@@ -1,4 +1,4 @@
#serial 2
#serial 3
dnl The problem is that the default compilation flags in Solaris 2.6 won't
dnl let programs access large files; you need to tell the compiler that
@@ -8,50 +8,99 @@ dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
dnl Written by Paul Eggert <eggert@twinsun.com>.
dnl Internal subroutine of AC_LFS.
dnl AC_LFS_FLAGS(FLAGSNAME)
AC_DEFUN(AC_LFS_FLAGS,
[AC_CACHE_CHECK([for $1 value to request large file support], ac_cv_lfs_$1,
[ac_cv_lfs_$1=`($GETCONF LFS_$1) 2>/dev/null` || {
ac_cv_lfs_$1=no
ifelse($1, CFLAGS,
[case "$host_os" in
# IRIX 6.2 and later
irix6.[[2-9]]* | irix6.1[[0-9]]* | irix[[7-9]].* | irix[[1-9]][[0-9]]*)
if test "$GCC" != yes; then
ac_cv_lfs_CFLAGS=-n32
fi
ac_save_CC="$CC"
CC="$ac_save_CC $ac_cv_lfs_CFLAGS"
AC_TRY_LINK(, , , ac_cv_lfs_CFLAGS=no)
CC="$ac_save_CC"
esac])
}])])
dnl Internal subroutine of AC_LFS.
dnl AC_LFS_SPACE_APPEND(VAR, VAL)
AC_DEFUN(AC_LFS_SPACE_APPEND,
[case $2 in
no) ;;
?*)
case "[$]$1" in
'') $1=$2 ;;
*) $1=[$]$1' '$2 ;;
esac ;;
esac])
dnl Internal subroutine of AC_LFS.
dnl AC_LFS_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAULT)
AC_DEFUN(AC_LFS_MACRO_VALUE,
[AC_CACHE_CHECK([for $1], $2,
[[$2=no
$4
for ac_flag in $ac_cv_lfs_CFLAGS no; do
case "$ac_flag" in
-D$1)
$2=1 ;;
-D$1=*)
$2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
esac
done]])
if test "[$]$2" != no; then
AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
fi])
AC_DEFUN(AC_LFS,
[dnl
# If available, prefer support for large files unless the user specified
# one of the CPPFLAGS, LDFLAGS, or LIBS variables.
AC_MSG_CHECKING(whether large file support needs explicit enabling)
ac_getconfs=''
ac_result=yes
ac_set=''
ac_shellvars='CPPFLAGS LDFLAGS LIBS'
for ac_shellvar in $ac_shellvars; do
case $ac_shellvar in
CPPFLAGS) ac_lfsvar=LFS_CFLAGS ;;
*) ac_lfsvar=LFS_$ac_shellvar ;;
esac
eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar
(getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; }
ac_getconf=`getconf $ac_lfsvar`
ac_getconfs=$ac_getconfs$ac_getconf
eval ac_test_$ac_shellvar=\$ac_getconf
done
case "$ac_result" in
no)
case "`(uname -s -r) 2>/dev/null`" in
HP-UX' '?.10.[[2-9]][[0-9]]* | HP-UX' '?.1[[1-9]]* | HP-UX' '?.[[2-9]][[0-9]]*)
# HP-UX 10.20 and later support large files,
# but do not support `getconf LFS_CFLAGS'.
ac_test_CPPFLAGS='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
ac_test_LDFLAGS=
ac_test_LIBS=
ac_getconfs=nonempty
ac_result=yes ;;
esac ;;
esac
case "$ac_result$ac_getconfs" in
yes) ac_result=no ;;
esac
case "$ac_result$ac_set" in
yes?*) ac_result="yes, but $ac_set is already set, so use its settings"
esac
AC_MSG_RESULT($ac_result)
case $ac_result in
yes)
for ac_shellvar in $ac_shellvars; do
eval $ac_shellvar=\$ac_test_$ac_shellvar
done ;;
esac
])
[AC_REQUIRE([AC_CANONICAL_HOST])
AC_ARG_ENABLE(lfs,
[ --disable-lfs omit Large File Support])
if test "$enable_lfs" != no; then
AC_CHECK_TOOL(GETCONF, getconf)
AC_LFS_FLAGS(CFLAGS)
AC_LFS_FLAGS(LDFLAGS)
AC_LFS_FLAGS(LIBS)
for ac_flag in $ac_cv_lfs_CFLAGS no; do
case "$ac_flag" in
no) ;;
-D_FILE_OFFSET_BITS=*) ;;
-D_LARGEFILE_SOURCE | -D_LARGEFILE_SOURCE=*) ;;
-D_LARGE_FILES | -D_LARGE_FILES=*) ;;
-[[DI]]?* | -[[no]]32 | -n64)
AC_LFS_SPACE_APPEND(CPPFLAGS, "$ac_flag") ;;
*)
AC_LFS_SPACE_APPEND(CFLAGS, "$ac_flag") ;;
esac
done
AC_LFS_SPACE_APPEND(LDFLAGS, "$ac_cv_lfs_LDFLAGS")
AC_LFS_SPACE_APPEND(LIBS, "$ac_cv_lfs_LIBS")
AC_LFS_MACRO_VALUE(_FILE_OFFSET_BITS, ac_cv_file_offset_bits,
[Number of bits in a file offset, on hosts where this is settable. ],
[case "$host_os" in
# HP-UX 10.20 and later
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
ac_cv_file_offset_bits=64 ;;
esac])
AC_LFS_MACRO_VALUE(_LARGEFILE_SOURCE, ac_cv_largefile_source,
[Define to make fseeko etc. visible, on some hosts. ],
[case "$host_os" in
# HP-UX 10.20 and later
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
ac_cv_largefile_source=1 ;;
esac])
AC_LFS_MACRO_VALUE(_LARGE_FILES, ac_cv_large_files,
[Define for large files, on AIX-style hosts. ],
[case "$host_os" in
# AIX 4.2 and later
aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
ac_cv_large_files=1 ;;
esac])
fi
])

View File

@@ -1,4 +1,4 @@
#serial 2
#serial 3
dnl From Paul Eggert.
@@ -11,11 +11,7 @@ AC_DEFUN(jm_AC_TYPE_UINTMAX_T,
[
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
if test $jm_ac_cv_header_inttypes_h = no; then
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
[AC_TRY_COMPILE([],
[unsigned long long i = (unsigned long long) -1;],
ac_cv_type_unsigned_long_long=yes,
ac_cv_type_unsigned_long_long=no)])
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
test $ac_cv_type_unsigned_long_long = yes \
&& ac_type='unsigned long long' \
|| ac_type='unsigned long'

16
m4/ulonglong.m4 Normal file
View File

@@ -0,0 +1,16 @@
#serial 1
dnl From Paul Eggert.
AC_DEFUN(jm_AC_TYPE_UNSIGNED_LONG_LONG,
[
AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long,
[AC_TRY_COMPILE([],
[unsigned long long i = (unsigned long long) -1;],
ac_cv_type_unsigned_long_long=yes,
ac_cv_type_unsigned_long_long=no)])
if test $ac_cv_type_unsigned_long_long = yes; then
AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1,
[Define if you have the unsigned long long type.])
fi
])

22
m4/xstrtoumax.m4 Normal file
View File

@@ -0,0 +1,22 @@
#serial 1
# autoconf tests required for use of xstrtoumax.c
AC_DEFUN(jm_AC_PREREQ_XSTRTOUMAX,
[
AC_REQUIRE([jm_AC_HEADER_INTTYPES_H])
AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG])
AC_CHECK_HEADERS(stdlib.h)
AC_REPLACE_FUNCS(strtoumax)
dnl We don't need (and can't compile) the replacement strtoull
dnl unless the type `unsigned long long' exists.
dnl Also, only the replacement strtoumax invokes strtoull,
dnl so we need the replacement strtoull only if strtoumax does not exist.
case "$ac_cv_type_unsigned_long_long,$ac_cv_func_strtoumax" in
yes,no)
AC_REPLACE_FUNCS(strtoull)
;;
esac
])

View File

@@ -1,5 +1,266 @@
1999-04-24 Jim Meyering <meyering@ascend.com>
* Version 4.0g.
1999-04-22 Jim Meyering <meyering@ascend.com>
* src/shred.c (word32): Don't use `#error'; it runs afoul of
SunOS 4.1.4 cc.
* lib/strtoull.c: Guard strong_alias and weak_alias with #ifdef _LIBC.
1999-04-20 Paul Eggert <eggert@twinsun.com>
Replace our temporary hack implementation of strtoumax with
something very close to the real code in glibc.
* lib/xstrtoumax.c: Remove the temporary strtoumax replacement;
we now have a true replacement in strtoumax.c.
(__strtol): Always define to strtoumax.
(<stdlib.h>): No need to include.
(PARAMS): Remove.
(my_strtoumax): Move this to strtoumax.c,
rename it to strtoumax, and simplify.
* lib/strtoull.c, lib/strtoumax.c: New files.
* lib/strtol.c: Update to glibc 2.1.1 version.
1999-04-20 Jim Meyering <meyering@ascend.com>
* tests/Makefile.am (EXTRA_DIST): s/posix-warn/env-warn/.
(check-local): Also test and warn if CDPATH is set.
1999-04-20 Paul Eggert <eggert@twinsun.com>
* configure.in (AC_CANONICAL_HOST): Add; needed for new AC_LFS's
cross-compilation.
* config.guess: New file (from autoconf).
* config.sub: New file (from autoconf).
* src/shred.c <config.h>: Include first, since it can do
things like #define const, and this must be done before
including any system headers.
* lib/xstrtoumax.c (my_strtoumax): Fix typo in computing
whether overflow occurred. Improve overflow-detection to use
only one conditional branch total, rather than 2N+1
conditional branches for an N-digit number.
1999-04-18 Jim Meyering <meyering@ascend.com>
* configure.in (AC_CHECK_FUNCS): Remove strtoull, strtoumax, and
strtouq, now that they're checked in m4/xstrtoumax.m4.
1999-04-18 Paul Eggert <eggert@twinsun.com>
* doc/fileutils.texi, src/shred.c (main, longopts):
Use -u instead of -R for --remove, so that we can preserve
future compatibility with rm.
1999-04-18 Jim Meyering <meyering@ascend.com>
* src/shred.c [!HAVE_CONFIG_H] (ST_BLKSIZE): Define to 65536.
(do_wipefd): Use ST_BLKSIZE instead of referring to the st_blksize
member directly.
1999-04-18 Paul Eggert <eggert@twinsun.com>
Fix shred to do the right thing with off_t longer than long.
Merge large-integer parsing code with similar code in dd.c,
and put the resulting in lib/xstrtoumax.c so that other programs
can use it. Instead of adding a new lib/xstrtoumax.h I thought
it cleaner to put all the xstroto* declarations into a single
header, which for now is lib/xstrtol.h for lack of a better place.
(Mayby lib/xstdlib.h would be better? :-)
I thought of several other problems with shredding regular files;
shredding devices is much more reliable. So I changed the defaults
to be more suitable for shredding devices; this should help encourage
users to do the right thing.
pfstatus isn't portable to environments with varying width
fonts, or with internationalized environments where the byte
count of the message is not the same as its print width.
Rather than deal with this, I just simplified it to not do
tricks with carriage-returns and spaces. (I'm also worried
that vprintf may not return the right value on some hosts; I
vaguelly recall this being a problem.) As a result, -v and -
no longer conflict.
When removing a special file, try to truncate it first, but don't
worry if this reports an error.
Try to find the size of a non-regular file by seeking to its end.
Various porting fixes, mostly because of a port to SunOS 4.1.4 cc.
Some other minor bug fixes.
* lib/xstrtoul.h: Remove this file.
* lib/xstrtoumax.c: New file.
* configure.in (AC_CHECK_FUNCS): Add strtoull, strtoumax, strtouq.
* lib/xstrtoul.c (STRING_TO_UNSIGNED): Remove.
(__strtol, __strtol_t, __xstrtol): New macros.
* lib/xstrtol.c (__strtol, __strtol_t, __xstrtol):
New macros to specify the
underlying function, its returned type, and our function. Default to
values suitable for xstrtol.
Include <ctype.h>, since we use its macros.
(ULONG_MAX, LONG_MAX, ISBLANK): Remove: no longer needed.
(ISSPACE): New macro.
(bkm_scale, bkm_scale_by_power, __xstrtol, main): __unsigned long int
-> __strtol_t.
(__xstrtol): Depend on whether __strtol_t is an unsigned type, not on
whether STRING_TO_UNSIGNED is defined. Skip isspace chars, not
isblank chars, to match strtol. When returning
LONGINT_INVALID_SUFFIX_CHAR, store the value that we computed into
*val.
* lib/xstrtol.h (__xstrtol, __strtol, __unsigned): Remove macro decls.
<inttypes.h>: Include if HAVE_INTTYPES_H.
(_DECLARE_XSTRTOL): New macro.
(xstrtol, xstrtoul, xstrtoumax): Declare all three functions, so that
we need only one include file, not three.
(_STRTOL_ERROR): Do not undef, as this is no longer needed.
Reword overflow message so that it's independent of type.
* lib/Makefile.am (libfu_a_SOURCES): Add xstrtoumax.c.
(noinst_HEADERS): Remove xstrtoul.h.
* lib/xmalloc.c (xalloc_fail):
Pass xalloc_msg_memory_exhausted through gettext.
* lib/getdate.y:
<stdlib.h>: Include if HAVE_STDLIB_H, since bison 1.27 invokes "free".
(LookupWord, yylex): Don't pass negative char to ctype macros.
* doc/fileutils.texi:
Explain why shredding devices is more reliable, and why the
default options are more suitable for devices.
Remove withdrawn options -b or --no-contents, -c or --freed-contents,
-C or --all-contents, -k or --no-links, -l or --ordinary-links, -L or
--all-links.
Add -R or --remove, -s or --size.
-v can no longer be doubled.
`file system' --> `filesystem' uniformly.
* src/chgrp.c: Include xstrtol.h, not obsolete file xstrtoul.h.
* src/shred.c: Include xstrtol.h, not obsolete file xstrtoul.h.
"human.h", "xalloc.h": Include.
(attribute): Remove; no longer needed.
(xstrdup): New decl.
(STDOUT_FILENO): New macro.
(O_NOCTTY): Make sure it's always defined, even if HAVE_CONFIG_H.
The following changes have effect only if !HAVE_CONFIG_H.
<ctype.h>: New include.
(RETSIGTYPE): Remove bogus semicolon at end.
(STDOUT_FILENO, uintmax_t, human_readable, LONGEST_HUMAN_READABLE):
New macros.
(xstrtoumax): Renamed from xstrtoul, with corresponding type changes.
Handle suffixes like the real routine does.
(error): Remove bogus assignment of errno to errnum.
(xmalloc, xstrdup): New functions.
(O_NOCTTY): Define even if !HAVE_CONFIG_H.
(S_ISFIFO, S_ISSOCK): New macros, if not already defined.
(OUTPUT_BLOCK_SIZE): New macro.
(struct Options.verbose): Now a boolean, since we no longer have two
levels of verbosity.
(long_opts, usage, main): Remove -D or --device option. Invert -p or
--preserve option, and rename it to -R or --remove.
(usage): Describe G suffix.
(usage): "-" no longer conflicts with -v.
(UCHAR_MAX): Indent `#error' so that SunOS 4.1.4 cc doesn't reject it.
(ind): Portability fixes: return word32, not unsigned; multiply by
sizeof (word32) instead of shifting left by 2.
(isaac_refill, isaac_mix): Comment out size of array parameter, as
ansi2knr mishandles this.
(status_visible, status_pos, pfstatus, flushstatus): Remove, since
pfstatus isn't portable to users with varying width fonts, or
internationalized messages, and vfprintf is problematic. All callers
of pfstatus changed to use error instead; this removes incompatibility
of -v with -. All calls to flushstatus removed.
(dopass, do_wipefd): Do not translate non-English msgs with gettext.
(dopass): Cast lseek constant arguments to (off_t) for benefit
of pre-ANSI compilers; fix one lseek call whose args were interchanged.
Remove unnecessary casts to (off_t). Do not check for EIO
when determining file size; this was just my earlier wild guess.
Use human_readable to print off_t, instead of casting to unsigned long
(which doesn't work in Solaris 2.6, where off_t is longer than long).
Output human-readable sizes, instead of always using "K".
Check for offset overflow (it happened to me in SunOS 4.1.4).
(do_wipefd): Do not insist on regular files, but do check for special
files that cannot possibly be shredded.
Use xmalloc instead of malloc + check.
Do not inspect st_size for non-regular files.
Try to find the size of a non-regular file by seeking to its end.
Do not assume that a regular file of size-0 has unknown size.
Check for regular files with negative sizes,
and for overflow after rounding to next block.
Always try to truncate, even for special files, but do not report an
error if truncation fails on a special file.
(dopass, wipefile): Do not return 1 for special files; the caller
doesn't care any more.
(wipefd): Remove unnecessary (and nonportable) check for
whether the file descriptor is read-only. Remove
no-longer-needed check for `-v -'.
(incname): Return 1 for carry bit, like the documentation says.
(wipename, wipefile): Accept new argument, specifying the
quoted file name. All callers changed.
(wipename): Use xstrdup instead of strdup+error check.
(wipefile): Check for ENOTDIR when opening /dev/fd/NNN. Check for
errors in NNN more carefully. Restore errno after the check.
Check for errors when closing the file descriptor.
Use more consistent wording when unable to remove a file.
(main): Do not remove files by default.
Use xstrtoumax instead of xstrtoul uniformly, since xstrtoul won't
exist if !HAVE_CONFIG_H.
In diagnostics, quote invalid operands to -n and -s options.
Allow T, P, E, Z, and Y suffixes in -s operand.
flags.verbose is now a boolean, not a counter.
Use STDOUT_FILENO instead of 1, for clarity.
* lib/human.c:
Include xstrtol.h, not xstrtoul.h, since xstrtol.h now defines all the
xstrto... functions.
* src/dd.c: Include xstrtol.h.
(parse_integer): Migrate most of the work into the new xstrtoumax fn.
* lib/xstrtoumax.c: New file.
1999-04-18 Jim Meyering <meyering@ascend.com>
* src/dd.c (main): Open the output file with *read* access
only if we might need to read to satisfy a `seek=' request.
From Matthias Urlichs.
1999-04-10 Jim Meyering <meyering@ascend.com>
* Makefile.maint (alpha): Add trailing slash for ncftp.
* Version 4.0f.
* configure.in (AC_OUTPUT): Add tests/dd/Makefile.

View File

@@ -1,4 +1,14 @@
Changes in release 4.1:
[4.0g]
* New large-file support for AIX and HP-UX, and for cross-compiles.
* shred's default options are now suitable for devices, not files, since
shred is more reliable on devices. shred now does not remove by default;
the old -p or --preserve option was inverted and renamed to -u or --remove.
* shred -u now attempts to truncate devices before removing them.
* shred -v no longer outputs carriage-returns; shred -vv has no extra effect;
shred -v now outputs to stderr.
* shred now tries to find the size of a non-regular file by seeking to its end.
* dd now opens the output file for *read* access only if `seek=' is used.
[4.0f]
* `ls --color' no longer segfaults
* dd works once again

View File

@@ -1,3 +1,44 @@
1999-04-24 Jim Meyering <meyering@ascend.com>
* Version 1.16g.
* configure.in: Use AC_CANONICAL_HOST.
1999-04-20 Jim Meyering <meyering@ascend.com>
Update factor to use `uintmax_t'.
* src/factor.c <xstrtol.h>: Include this, not xstrtoul.h.
<human.h>: Include.
Use uintmax_t in place of unsigned long.
Use human_readable to convert to strings for printing.
* lib/xstrtoumax.c: New file.
* lib/human.c: New file.
* lib/human.h: New file.
* lib/Makefile.am (libsu_a_SOURCES): Add human.c and xstrtoumax.c.
(noinst_HEADERS): Add human.h. Remove xstrtoul.h.
1999-04-19 Jim Meyering <meyering@ascend.com>
* src/seq.c (main): Restore `+' in getopt_long string. Otherwise,
commands like `seq 10 -2 0' wouldn't work. From Andreas Schwab.
* tests/seq/basic: Add tests for that.
1999-04-17 Jim Meyering <meyering@ascend.com>
* tests/seq: New directory and basic tests.
* tests/Makefile.am (SUBDIRS): Add seq.
* configure.in (AC_OUTPUT): Add tests/seq/Makefile.
1999-04-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* configure.in: Check for localeconv.
* src/seq.c (decimal_point): New variable.
(main): Set it to locale's decimal point. Fix recognition of
negative number as argument.
(get_width_format): Correctly handle a negative min_val or step
when computing fraction width. Use decimal_point.
1999-04-08 Jim Meyering <meyering@ascend.com>
1999-03-25 James R. Van Zandt <jrv@vanzandt.mv.com>

View File

@@ -1,5 +1,9 @@
Changes in release 1.17
[1.16h]
* who works on Solaris
[1.16g]
* factor now uses uintmax_t, so the largest number it can factor is now 2^64 - 1
on systems with type `long long'.
* nohup no longer modifies the shell's search path
* `basename /' now prints `/', per the single unix spec
* `who --lookup' no longer erroneously reports `localhost' for IP addresses

View File

@@ -1,3 +1,96 @@
1999-04-24 Jim Meyering <meyering@ascend.com>
* configure.in: Use AC_CANONICAL_HOST.
* lib/Makefile.am (libtu_a_SOURCES): Add xstrtoumax.c
(noinst_HEADERS): Remove xstrtoul.h.
* src/csplit.c: Include new "xstrtol.h", not "xstrtoul.h".
(struct control) [repeat]: Declare as uintmax_t, not int.
(struct control) [lines_required]: Likewise.
(handle_line_error): Use human_readable to print lines_required.
(parse_repeat_count): Parse a uintmax_t.
(parse_patterns): Parse a uintmax_t.
* src/tail.c: Include new "xstrtol.h", not "xstrtoul.h".
* src/od.c: Likewise.
* src/head.c: Include new "xstrtol.h", not "xstrtoul.h".
Change all U_LONG_LONG to uintmax_t.
(head_lines): Move a couple dcls into an inner scope.
(string_to_integer): Rename from string_to_ull.
1999-04-19 Jim Meyering <meyering@ascend.com>
* Makefile.maint (b_host): Remove /pub suffix.
1999-04-18 Jim Meyering <meyering@ascend.com>
* Version 1.22j.
* Makefile.maint (my-distcheck): Use AMTAR, not TAR.
* src/sort.c (usage): s/DIRECT/DIRECTORY/g
Rename global: s/temp_file_prefix/temp_dir/.
(NAME_MAX_IN_DIR): Rename from PATH_MAX_IN_DIR. Use _POSIX_NAME_MAX,
not _POSIX_PATH_MAX. Guard with #if HAVE_PATHCONF rather than
#if HAVE_UNISTD_H.
(tempname): Wrap after 99999 only for length-impaired file systems.
1999-04-17 Jim Meyering <meyering@ascend.com>
* src/tail.c (file_lines): Fix serious bug introduced with last changes.
From Andreas Schwab.
1999-04-15 Jim Meyering <meyering@ascend.com>
* tests/Makefile.am (EXTRA_DIST): Rename .posix-warn to .env-warn.
(check-local): Warn about CDPATH in the same way
we warn about POSIXLY_CORRECT, since the cp/same-file test fails at
least when using bash with CDPATH set. Reported by Mark Hewitt.
* src/pr.c Add comments.
(init_header): Tweak white space in Date/Time header.
* tests/pr/Test.pm: Updated all tests to reflect the big
1999-02-13 change. From Roland Huebner.
1999-04-12 Jim Meyering <meyering@ascend.com>
* src/cat.c (main): Declare out_dev to be of type dev_t, not `int'.
Declare out_ino to be of type ino_t, not `int'.
From John Bley.
* src/od.c (MIN, MAX): Remove definitions.
* src/sys2.h (MIN, MAX): Define here instead.
Reported by John Bley.
1999-04-11 Jim Meyering <meyering@ascend.com>
* Version 1.22i.
* tests/pr/Test.pm (test_vector): Disable all tests while I wait for
an updated suite.
Fix the problem whereby `yes > k & sleep 1; tail -2c k' would infloop.
* src/tail.c (COPY_TO_EOF): Define.
(dump_remainder): Add parameter, n_bytes, and rewrite to use it.
Update callers.
(file_lines): Rename parameter.
(tail_bytes): Remove obsolete comment.
Fix the problem whereby `yes > k & sleep 1; tail -1 k' would infloop.
* src/tail.c (dump_remainder): Move this function to precede the
new use in file_lines.
(tail_lines): Don't call dump_remainder here.
(file_lines): Call dump_remainder here instead.
Reported by Lehti Rami.
* lib/readtokens.c (readtoken, readtokens): Protoize.
1999-04-10 Jim Meyering <meyering@ascend.com>
* src/tail.c (xwrite): Use STDOUT_FILENO instead of literal `1'.
1999-04-04 Jim Meyering <meyering@ascend.com>
* src/cat.c: Standardize --help and --version processing.

View File

@@ -1,11 +1,16 @@
Changes in release 1.23
[1.22k]
* head accepts byte and line counts of type uintmax_t (so up to 2^64 - 1)
[1.22j]
* tail: fix bug introduced in 1.22i
[1.22i]
* tail now terminates in `yes > k & sleep 1; tail -2c k'
* `tail -f' now ensures that stdout is unbuffered
* fix a bug in cut to allow use of 8-bit delimiters
* pr accepts POSIX compliant options -s and -w,
the new capital letter options -J, -S and _W turn off the
unexpected interferences of the small letter options -s and -w
if used together with the column options.
the new capital letter options -J, -S and _W turn off the
unexpected interferences of the small letter options -s and -w
if used together with the column options.
* pr output has been adapted to other UNIXes in some cases.
[1.22h]
* portability tweaks

View File

@@ -1,6 +1,6 @@
/* Copyright (C) 1989, 1997, 1998, 1999 Aladdin Enterprises. All rights reserved. */
/*$Id: ansi2knr.c,v 1.13 1999/02/03 15:23:21 meyering Exp $*/
/*$Id: ansi2knr.c,v 1.14 1999/04/13 14:44:33 meyering Exp $*/
/* Convert ANSI C function definitions to K&R ("traditional C") syntax */
/*
@@ -44,7 +44,10 @@ program under the GPL.
* consisting of only
* identifier1(identifier2)
* will not be considered a function definition unless identifier2 is
* the word "void". ansi2knr will recognize a multi-line header provided
* the word "void", and a line consisting of
* identifier1(identifier2, <<arbitrary>>)
* will not be considered a function definition.
* ansi2knr will recognize a multi-line header provided
* that no intervening line ends with a left or right brace or a semicolon.
* These algorithms ignore whitespace and comments, except that
* the function name must be the first thing on the line.
@@ -58,6 +61,12 @@ program under the GPL.
* The original and principal author of ansi2knr is L. Peter Deutsch
* <ghost@aladdin.com>. Other authors are noted in the change history
* that follows (in reverse chronological order):
lpd 1999-04-12 added minor fixes from Pavel Roskin
<pavel_roskin@geocities.com> for clean compilation with
gcc -W -Wall
lpd 1999-03-22 added hack to recognize lines consisting of
identifier1(identifier2, xxx) as *not* being procedures
lpd 1999-02-03 made indentation of preprocessor commands consistent
lpd 1999-01-28 fixed two bugs: a '/' in an argument list caused an
endless loop; quoted strings within an argument list
confused the parser
@@ -158,6 +167,11 @@ program under the GPL.
#endif
/* Define NULL (for *very* old compilers). */
#ifndef NULL
# define NULL (0)
#endif
/*
* The ctype macros don't always handle 8-bit characters correctly.
* Compensate for this here.
@@ -263,6 +277,11 @@ main(argc, argv)
if ( filename )
fprintf(out, "#line 1 \"%s\"\n", filename);
buf = malloc(bufsize);
if ( buf == NULL )
{
fprintf(stderr, "Unable to allocate read buffer!\n");
exit(1);
}
line = buf;
while ( fgets(line, (unsigned)(buf + bufsize - line), in) != NULL )
{
@@ -430,7 +449,7 @@ test1(buf)
};
char **key = words;
char *kp;
int len = endfn - buf;
unsigned len = endfn - buf;
while ( (kp = *key) != 0 )
{ if ( strlen(kp) == len && !strncmp(kp, buf, len) )
@@ -443,14 +462,16 @@ test1(buf)
int len;
/*
* Check for identifier1(identifier2) and not
* identifier1(void).
* identifier1(void), or identifier1(identifier2, xxxx).
*/
while ( isidchar(*p) )
p++;
len = p - id;
p = skipspace(p, 1);
if ( *p == ')' && (len != 4 || strncmp(id, "void", 4)) )
if (*p == ',' ||
(*p == ')' && (len != 4 || strncmp(id, "void", 4)))
)
return 0; /* not a function */
}
/*
@@ -495,7 +516,7 @@ convert1(buf, out, header, convert_varargs)
;
top: p = endfn;
breaks = (char **)malloc(sizeof(char *) * num_breaks * 2);
if ( breaks == 0 )
if ( breaks == NULL )
{ /* Couldn't allocate break table, give up */
fprintf(stderr, "Unable to allocate break table!\n");
fputs(buf, out);
@@ -507,7 +528,7 @@ top: p = endfn;
do
{ int level = 0;
char *lp = NULL;
char *rp;
char *rp = NULL;
char *end = NULL;
if ( bp >= btop )
@@ -545,7 +566,7 @@ top: p = endfn;
}
}
/* Erase any embedded prototype parameters. */
if ( lp )
if ( lp && rp )
writeblanks(lp + 1, rp);
p--; /* back up over terminator */
/* Find the name being declared. */

View File

@@ -486,10 +486,10 @@ main (int argc, char **argv)
int argind;
/* Device number of the output (file or whatever). */
int out_dev;
dev_t out_dev;
/* I-node number of the output. */
int out_ino;
ino_t out_ino;
/* Nonzero if the output file should not be the same as any input file. */
int check_redirection = 1;

View File

@@ -27,7 +27,7 @@
#include "error.h"
#include "group-member.h"
#include "savedir.h"
#include "xstrtoul.h"
#include "xstrtol.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "chgrp"

View File

@@ -31,8 +31,9 @@
#include <regex.h>
#include "error.h"
#include "human.h"
#include "safe-read.h"
#include "xstrtoul.h"
#include "xstrtol.h"
#include "xalloc.h"
/* The official name of this program (e.g., no `g' prefix). */
@@ -67,8 +68,8 @@ struct control
char *regexpr; /* Non-compiled regular expression. */
struct re_pattern_buffer re_compiled; /* Compiled regular expression. */
int offset; /* Offset from regexp to split at. */
int lines_required; /* Number of lines required. */
unsigned int repeat; /* Repeat count. */
uintmax_t lines_required; /* Number of lines required. */
uintmax_t repeat; /* Repeat count. */
int repeat_forever; /* Non-zero if `*' used as a repeat count. */
int argnum; /* ARGV index. */
boolean ignore; /* If true, produce no output (for regexp). */
@@ -743,8 +744,10 @@ dump_rest_of_file (void)
static void
handle_line_error (const struct control *p, int repetition)
{
char buf[LONGEST_HUMAN_READABLE + 1];
fprintf (stderr, _("%s: `%d': line number out of range"),
program_name, p->lines_required);
program_name, human_readable (p->lines_required, buf, 1, 1));
if (repetition)
fprintf (stderr, _(" on repetition %d\n"), repetition);
else
@@ -762,7 +765,7 @@ static void
process_line_count (const struct control *p, int repetition)
{
unsigned int linenum;
unsigned int last_line_to_save = p->lines_required * (repetition + 1);
uintmax_t last_line_to_save = p->lines_required * (repetition + 1);
struct cstring *line;
create_output_file ();
@@ -1089,7 +1092,7 @@ check_for_offset (struct control *p, const char *str, const char *num)
static void
parse_repeat_count (int argnum, struct control *p, char *str)
{
unsigned long val;
uintmax_t val;
char *end;
end = str + strlen (str) - 1;
@@ -1101,14 +1104,13 @@ parse_repeat_count (int argnum, struct control *p, char *str)
p->repeat_forever = 1;
else
{
if (xstrtoul (str + 1, NULL, 10, &val, "") != LONGINT_OK
|| val > UINT_MAX)
if (xstrtoumax (str + 1, NULL, 10, &val, "") != LONGINT_OK)
{
error (EXIT_FAILURE, 0,
_("%s}: integer required between `{' and `}'"),
global_argv[argnum]);
}
p->repeat = (unsigned int) val;
p->repeat = val;
}
*end = '}';
@@ -1166,8 +1168,8 @@ parse_patterns (int argc, int start, char **argv)
{
int i; /* Index into ARGV. */
struct control *p; /* New control record created. */
unsigned long val;
static unsigned long last_val = 0;
uintmax_t val;
static uintmax_t last_val = 0;
for (i = start; i < argc; i++)
{
@@ -1180,25 +1182,28 @@ parse_patterns (int argc, int start, char **argv)
p = new_control_record ();
p->argnum = i;
if (xstrtoul (argv[i], NULL, 10, &val, "") != LONGINT_OK
|| val > INT_MAX)
if (xstrtoumax (argv[i], NULL, 10, &val, "") != LONGINT_OK)
error (EXIT_FAILURE, 0, _("%s: invalid pattern"), argv[i]);
if (val == 0)
error (EXIT_FAILURE, 0,
_("%s: line number must be greater than zero"),
argv[i]);
if (val < last_val)
error (EXIT_FAILURE, 0,
_("line number `%s' is smaller than preceding line number, %lu"),
argv[i], last_val);
{
char buf[LONGEST_HUMAN_READABLE + 1];
error (EXIT_FAILURE, 0,
_("line number `%s' is smaller than preceding line number, %s"),
argv[i], human_readable (last_val, buf, 1, 1));
}
if (val == last_val)
error (0, 0,
_("warning: line number `%s' is the same as preceding line number"),
argv[i]);
last_val = val;
p->lines_required = (int) val;
p->lines_required = val;
}
if (i + 1 < argc && *argv[i + 1] == '{')

106
src/dd.c
View File

@@ -34,6 +34,7 @@
#include "human.h"
#include "long-options.h"
#include "safe-read.h"
#include "xstrtol.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "dd"
@@ -473,101 +474,15 @@ parse_conversion (char *str)
Assign nonzero to *INVALID if STR does not represent a number in
this format. */
/* FIXME: use xstrtou?[lq] */
static uintmax_t
parse_integer (char *str, int *invalid)
{
register uintmax_t n = 0;
register char *p = str;
uintmax_t n;
enum strtol_error e = xstrtoumax (str, &str, 10, &n, "bcEGkMPTwYZ0");
while (ISDIGIT (*p))
if (e == LONGINT_INVALID_SUFFIX_CHAR && *str == 'x')
{
uintmax_t n10 = n * 10;
int digit = *p - '0';
if (! (n10 / 10 == n && n10 <= n10 + digit))
{
*invalid = 1;
return 0;
}
n = n10 + digit;
p++;
}
for (;;)
{
uintmax_t multiplier;
int power = 0;
#ifdef lint
/* Suppress `used before initialized' warning. */
multiplier = 0;
#endif
switch (*p++)
{
case '\0':
return n;
case 'b':
multiplier = 512;
break;
case 'c':
continue;
case 'E': /* Exa */
power = 6;
break;
case 'G': /* Giga */
power = 3;
break;
case 'k': /* kilo */
power = 1;
break;
case 'M': /* Mega */
power = 2;
break;
case 'P': /* Peta */
power = 5;
break;
case 'T': /* Tera */
power = 4;
break;
case 'w':
multiplier = 2;
break;
case 'x':
multiplier = parse_integer (p, invalid);
p = "";
break;
case 'Y': /* Yotta */
power = 8;
break;
case 'Z': /* Zetta */
power = 7;
break;
default:
{
*invalid = 1;
return 0;
}
}
if (power)
{
int base = 1024;
switch (*p)
{
case 'B': p++; break;
case 'D': p++; base = 1000; break;
}
for (multiplier = base; --power; multiplier *= base)
if (multiplier * base / base != multiplier)
{
*invalid = 1;
return 0;
}
}
uintmax_t multiplier = parse_integer (str + 1, invalid);
if (multiplier != 0 && n * multiplier / multiplier != n)
{
@@ -577,6 +492,13 @@ parse_integer (char *str, int *invalid)
n *= multiplier;
}
else if (e != LONGINT_OK)
{
*invalid = 1;
return 0;
}
return n;
}
static void
@@ -1121,7 +1043,9 @@ main (int argc, char **argv)
if (output_file != NULL)
{
int omode = O_RDWR | O_CREAT;
/* Open the output file with *read* access only if we might
need to read to satisfy a `seek=' request. */
int omode = (seek_record ? O_RDWR : O_WRONLY) | O_CREAT;
if (seek_record == 0 && !(conversions_mask & C_NOTRUNC))
omode |= O_TRUNC;

View File

@@ -1,4 +1,4 @@
/* factor -- print factors of n. lose if n > 2^32.
/* factor -- print factors of n.
Copyright (C) 86, 95, 96, 1997, 1998, 1999 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
@@ -28,8 +28,9 @@
#include "system.h"
#include "long-options.h"
#include "error.h"
#include "xstrtoul.h"
#include "human.h"
#include "readtokens.h"
#include "xstrtol.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "factor"
@@ -76,9 +77,9 @@ Print factors of each NUMBER; read standard input with no arguments.\n\
/* FIXME: comment */
static int
factor (long unsigned int n0, int max_n_factors, long unsigned int *factors)
factor (uintmax_t n0, int max_n_factors, uintmax_t *factors)
{
register unsigned long n = n0, d, q;
register uintmax_t n = n0, d, q;
int n_factors = 0;
if (n < 1)
@@ -128,20 +129,21 @@ factor (long unsigned int n0, int max_n_factors, long unsigned int *factors)
static int
print_factors (const char *s)
{
unsigned long int factors[MAX_N_FACTORS];
unsigned long n;
uintmax_t factors[MAX_N_FACTORS];
uintmax_t n;
int n_factors;
int i;
char buf[LONGEST_HUMAN_READABLE + 1];
if (xstrtoul (s, NULL, 10, &n, "") != LONGINT_OK)
if (xstrtoumax (s, NULL, 10, &n, "") != LONGINT_OK)
{
error (0, 0, _("`%s' is not a valid positive integer"), s);
return 1;
}
n_factors = factor (n, MAX_N_FACTORS, factors);
printf ("%lu:", n);
printf ("%s:", human_readable (n, buf, 1, 1));
for (i = 0; i < n_factors; i++)
printf (" %lu", factors[i]);
printf (" %s", human_readable (factors[i], buf, 1, 1));
putchar ('\n');
return 0;
}

View File

@@ -31,7 +31,7 @@
#include <sys/types.h>
#include "system.h"
#include "error.h"
#include "xstrtoul.h"
#include "xstrtol.h"
#include "safe-read.h"
/* The official name of this program (e.g., no `g' prefix). */
@@ -39,9 +39,6 @@
#define AUTHORS "David MacKenzie"
/* FIXME: someday, make this really *be* `long long'. */
typedef long int U_LONG_LONG;
/* Number of lines/chars/blocks to head. */
#define DEFAULT_NUMBER 10
@@ -118,7 +115,7 @@ write_header (const char *filename)
}
static int
head_bytes (const char *filename, int fd, U_LONG_LONG bytes_to_write)
head_bytes (const char *filename, int fd, uintmax_t bytes_to_write)
{
char buffer[BUFSIZE];
int bytes_read;
@@ -146,18 +143,18 @@ head_bytes (const char *filename, int fd, U_LONG_LONG bytes_to_write)
}
static int
head_lines (const char *filename, int fd, U_LONG_LONG lines_to_write)
head_lines (const char *filename, int fd, uintmax_t lines_to_write)
{
char buffer[BUFSIZE];
int bytes_read;
int bytes_to_write;
/* Need BINARY I/O for the byte counts to be accurate. */
SET_BINARY2 (fd, fileno (stdout));
while (lines_to_write)
{
bytes_read = safe_read (fd, buffer, BUFSIZE);
int bytes_read = safe_read (fd, buffer, BUFSIZE);
int bytes_to_write = 0;
if (bytes_read < 0)
{
error (0, errno, "%s", filename);
@@ -165,7 +162,6 @@ head_lines (const char *filename, int fd, U_LONG_LONG lines_to_write)
}
if (bytes_read == 0)
break;
bytes_to_write = 0;
while (bytes_to_write < bytes_read)
if (buffer[bytes_to_write++] == '\n' && --lines_to_write == 0)
break;
@@ -176,7 +172,7 @@ head_lines (const char *filename, int fd, U_LONG_LONG lines_to_write)
}
static int
head (const char *filename, int fd, U_LONG_LONG n_units, int count_lines)
head (const char *filename, int fd, uintmax_t n_units, int count_lines)
{
if (count_lines)
return head_lines (filename, fd, n_units);
@@ -185,7 +181,7 @@ head (const char *filename, int fd, U_LONG_LONG n_units, int count_lines)
}
static int
head_file (const char *filename, U_LONG_LONG n_units, int count_lines)
head_file (const char *filename, uintmax_t n_units, int count_lines)
{
int fd;
@@ -221,13 +217,13 @@ head_file (const char *filename, U_LONG_LONG n_units, int count_lines)
COUNT_LINES indicates whether N_STRING is a number of bytes or a number
of lines. It is used solely to give a more specific diagnostic. */
static U_LONG_LONG
string_to_ull (int count_lines, const char *n_string)
static uintmax_t
string_to_integer (int count_lines, const char *n_string)
{
strtol_error s_err;
unsigned long int tmp_ulong;
uintmax_t n;
s_err = xstrtoul (n_string, NULL, 0, &tmp_ulong, "bkm");
s_err = xstrtoumax (n_string, NULL, 0, &n, "bkm");
if (s_err == LONGINT_INVALID)
{
@@ -244,7 +240,7 @@ string_to_ull (int count_lines, const char *n_string)
count_lines ? _("number of lines") : _("number of bytes"));
}
return tmp_ulong;
return n;
}
int
@@ -256,7 +252,7 @@ main (int argc, char **argv)
int c;
/* Number of items to print. */
U_LONG_LONG n_units = DEFAULT_NUMBER;
uintmax_t n_units = DEFAULT_NUMBER;
/* If nonzero, interpret the numeric argument as the number of lines.
Otherwise, interpret it as the number of bytes. */
@@ -330,7 +326,7 @@ main (int argc, char **argv)
if (multiplier_char)
*(++end_n_string) = 0;
n_units = string_to_ull (count_lines, n_string);
n_units = string_to_integer (count_lines, n_string);
/* Make the options we just parsed invisible to getopt. */
argv[1] = argv[0];
@@ -350,12 +346,12 @@ main (int argc, char **argv)
case 'c':
count_lines = 0;
n_units = string_to_ull (count_lines, optarg);
n_units = string_to_integer (count_lines, optarg);
break;
case 'n':
count_lines = 1;
n_units = string_to_ull (count_lines, optarg);
n_units = string_to_integer (count_lines, optarg);
break;
case 'q':

View File

@@ -25,7 +25,7 @@
#include <sys/types.h>
#include "system.h"
#include "error.h"
#include "xstrtoul.h"
#include "xstrtol.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "od"
@@ -46,14 +46,6 @@ typedef double LONG_DOUBLE;
# include <values.h>
#endif
#ifndef MAX
# define MAX(a, b) ((a) > (b) ? (a) : (b))
#endif
#ifndef MIN
# define MIN(a,b) (((a) < (b)) ? (a) : (b))
#endif
/* The default number of input bytes per output line. */
#define DEFAULT_BYTES_PER_BLOCK 16

View File

@@ -72,6 +72,23 @@
An overflow of the line length (without margin) over the input value
PAGE_WIDTH may occur.
The interference of the POSIX-compliant small letter options -w and -s:
(`interference' means `setting a _separator_ with -s switches off the
column sturctur and the default - not generally - page_width,
acts on -w option')
options: text form / separator: equivalent new capital
-w l -s[x] letter options:
--------------------------------------------------------------------
1. -- -- columns / space --
trunc. to page_width = 72
2. -- -s[:] full lines / TAB[:] -J -S["<TAB>"|:]
no truncation
3. -w l -- columns / space -W l
trunc. to page_width = l
4. -w l -s[:] columns / no sep.[:] -W l -S[:]
trunc. to page_width = l
--------------------------------------------------------------------
Options:
@@ -1637,7 +1654,7 @@ init_header (char *filename, int desc)
char *header_text;
struct tm *tmptr;
struct stat st;
char *datim = "- Date/Time --";
char *datim = "-- Date/Time -- ";
if (filename == NULL)
f = "";
@@ -1647,7 +1664,7 @@ init_header (char *filename, int desc)
header = (char *) xmalloc (chars_per_line + 1);
if (!standard_header && *custom_header == '\0')
sprintf (header, "%s", " "); /* blank line header */
*header = '\0'; /* blank line header */
else
{
#define T_BUF_FMT "%Y-%m-%d %H:%M" /* date/time short format */

View File

@@ -57,6 +57,10 @@ static char *separator;
/* FIXME: make this an option. */
static char *terminator = "\n";
/* The representation of the decimal point in the current locale.
Always "." if the localeconv function is not supported. */
static char *decimal_point = ".";
/* The increment. */
static double step;
@@ -124,20 +128,35 @@ main (int argc, char **argv)
first = 1.0;
step_is_set = 0;
/* Figure out the locale's idea of a decimal point. */
#ifdef HAVE_LOCALECONV
{
struct lconv *locale;
locale = localeconv ();
/* Paranoia. */
if (locale && locale->decimal_point && locale->decimal_point[0] != '\0')
decimal_point = locale->decimal_point;
}
#endif
/* We have to handle negative numbers in the command line but this
conflicts with the command line arguments. So the getopt mode is
REQUIRE_ORDER (the '+' in the format string) and it abort on the
first non-option or negative number. */
while ((optc = getopt_long (argc, argv, "+0123456789f:s:w", long_options,
NULL)) != -1)
conflicts with the command line arguments. So explicitly check first
whether the next argument looks like a negative number. */
while (1)
{
if ('0' <= optc && optc <= '9')
if (argv[optind][0] == '-'
&& ((optc = argv[optind][1]) == decimal_point[0]
|| ISDIGIT (optc)))
{
/* means negative number */
--optind;
break;
}
optc = getopt_long (argc, argv, "+f:s:w", long_options, NULL);
if (optc == -1)
break;
switch (optc)
{
case 0:
@@ -336,26 +355,32 @@ get_width_format ()
}
full_width = width1;
sprintf (buffer, "%g", 1.0 + modf (min_val, &temp));
sprintf (buffer, "%g", 1.0 + modf (fabs (min_val), &temp));
width1 = strlen (buffer);
if (width1 == 1)
width1 = 0;
else
{
if (buffer[0] != '1' || buffer[1] != '.' ||
buffer[2 + strspn (&buffer[2], "0123456789")] != '\0')
if (buffer[0] != '1'
/* FIXME: assumes that decimal_point is a single character
string. */
|| buffer[1] != decimal_point[0]
|| buffer[2 + strspn (&buffer[2], "0123456789")] != '\0')
return "%g";
width1 -= 2;
}
sprintf (buffer, "%g", 1.0 + modf (step, &temp));
sprintf (buffer, "%g", 1.0 + modf (fabs (step), &temp));
width2 = strlen (buffer);
if (width2 == 1)
width2 = 0;
else
{
if (buffer[0] != '1' || buffer[1] != '.' ||
buffer[2 + strspn (&buffer[2], "0123456789")] != '\0')
if (buffer[0] != '1'
/* FIXME: assumes that decimal_point is a single character
string. */
|| buffer[1] != decimal_point[0]
|| buffer[2 + strspn (&buffer[2], "0123456789")] != '\0')
return "%g";
width2 -= 2;
}

File diff suppressed because it is too large Load Diff

View File

@@ -42,10 +42,10 @@
# include <langinfo.h>
#endif
#if HAVE_UNISTD_H && defined(_PC_PATH_MAX) && _POSIX_NAME_MAX == 12
# define PATH_MAX_IN_DIR(f) pathconf(f, _PC_PATH_MAX)
#if HAVE_PATHCONF && defined _PC_NAME_MAX
# define NAME_MAX_IN_DIR(Dir) pathconf (Dir, _PC_NAME_MAX)
#else
# define PATH_MAX_IN_DIR(f) 255
# define NAME_MAX_IN_DIR(Dir) 255
#endif
char *xstrdup ();
@@ -248,8 +248,8 @@ static int linelength = 30;
/* Maximum number of elements for the array(s) of struct line's, in bytes. */
#define LINEALLOC (256 * 1024)
/* Prefix for temporary file names. */
static char *temp_file_prefix;
/* Directory in which any temporary files are to be created. */
static char *temp_dir;
/* Flag to reverse the order of all comparisons. */
static int reverse;
@@ -304,7 +304,7 @@ Write sorted concatenation of all FILE(s) to standard output.\n\
-r reverse the result of comparisons\n\
-s stabilize sort by disabling last resort comparison\n\
-t SEP use SEParator instead of non- to whitespace transition\n\
-T DIRECT use DIRECT for temporary files, not $TMPDIR or %s\n\
-T DIRECTORY use DIRECTORY for temporary files, not $TMPDIR or %s\n\
-u with -c, check for strict ordering;\n\
with -m, only output the first of an equal sequence\n\
-z end lines with 0 byte, not newline, for find -print0\n\
@@ -434,32 +434,33 @@ static char *
tempname (void)
{
static unsigned int seq;
int len = strlen (temp_file_prefix);
int len = strlen (temp_dir);
char *name = xmalloc (len + 1 + sizeof ("sort") - 1 + 5 + 5 + 1);
int long_file_names = PATH_MAX_IN_DIR (temp_file_prefix) > 12;
int long_file_names = NAME_MAX_IN_DIR (temp_dir) > 12;
struct tempnode *node;
node = (struct tempnode *) xmalloc (sizeof (struct tempnode));
/* If long filenames aren't supported, we cannot use filenames
longer than 8+3 and still assume they are unique. */
if (long_file_names)
sprintf (name,
"%s%ssort%5.5d%5.5d",
temp_file_prefix,
(len && temp_file_prefix[len - 1] != '/') ? "/" : "",
temp_dir,
(len && temp_dir[len - 1] != '/') ? "/" : "",
(unsigned int) getpid () & 0xffff, seq);
else
sprintf (name, "%s%ss%5.5d%2.2d.%3.3d",
temp_file_prefix,
(len && temp_file_prefix[len - 1] != '/') ? "/" : "",
temp_dir,
(len && temp_dir[len - 1] != '/') ? "/" : "",
(unsigned int) getpid () & 0xffff, seq / 1000, seq % 1000);
/* Make sure that SEQ's value fits in 5 digits. */
++seq;
if (seq >= 100000)
/* Make sure that SEQ's value fits in 5 digits if temp_dir is on
an 8.3 filesystem. */
if (!long_file_names && seq >= 100000)
seq = 0;
node = (struct tempnode *) xmalloc (sizeof (struct tempnode));
node->name = name;
node->next = temphead.next;
temphead.next = node;
@@ -2536,9 +2537,9 @@ main (int argc, char **argv)
have_read_stdin = 0;
inittables ();
temp_file_prefix = getenv ("TMPDIR");
if (temp_file_prefix == NULL)
temp_file_prefix = DEFAULT_TMPDIR;
temp_dir = getenv ("TMPDIR");
if (temp_dir == NULL)
temp_dir = DEFAULT_TMPDIR;
/* Change the way xmalloc and xrealloc fail. */
xalloc_exit_failure = SORT_FAILURE;
@@ -2791,11 +2792,11 @@ but lacks following character offset"));
break;
case 'T':
if (s[1])
temp_file_prefix = ++s;
temp_dir = ++s;
else
{
if (i < argc - 1)
temp_file_prefix = argv[++i];
temp_dir = argv[++i];
else
error (SORT_FAILURE, 0,
_("option `-T' requires an argument"));

View File

@@ -274,3 +274,11 @@ char *base_name PARAMS ((char const *));
close_stdout (); \
exit (EXIT_SUCCESS); \
break;
#ifndef MAX
# define MAX(a, b) ((a) > (b) ? (a) : (b))
#endif
#ifndef MIN
# define MIN(a,b) (((a) < (b)) ? (a) : (b))
#endif

View File

@@ -34,7 +34,7 @@
#include "argmatch.h"
#include "error.h"
#include "safe-read.h"
#include "xstrtoul.h"
#include "xstrtol.h"
/* The official name of this program (e.g., no `g' prefix). */
#define PROGRAM_NAME "tail"
@@ -58,6 +58,9 @@
# define BUFSIZ (512 * 8)
#endif
/* A special value for dump_remainder's N_BYTES parameter. */
#define COPY_TO_EOF OFF_T_MAX
/* FIXME: make Follow_name the default? */
#define DEFAULT_FOLLOW_MODE Follow_descriptor
@@ -235,7 +238,7 @@ pretty_name (struct File_spec const *f)
static void
xwrite (int fd, char *const buffer, size_t n_bytes)
{
assert (fd == 1);
assert (fd == STDOUT_FILENO);
assert (n_bytes >= 0);
if (n_bytes > 0 && fwrite (buffer, 1, n_bytes, stdout) == 0)
error (EXIT_FAILURE, errno, _("write error"));
@@ -261,20 +264,51 @@ write_header (const char *pretty_filename, const char *comment)
first_file = 0;
}
/* Read and output N_BYTES of file PRETTY_FILENAME starting at the current
position in FD. If N_BYTES is COPY_TO_EOF, then copy until end of file.
Return the number of bytes read from the file. */
static long
dump_remainder (const char *pretty_filename, int fd, off_t n_bytes)
{
char buffer[BUFSIZ];
int bytes_read;
long n_written;
off_t n_remaining = n_bytes;
n_written = 0;
while (1)
{
long n = MIN (n_remaining, (off_t) BUFSIZ);
bytes_read = safe_read (fd, buffer, n);
if (bytes_read <= 0)
break;
xwrite (STDOUT_FILENO, buffer, bytes_read);
n_remaining -= bytes_read;
n_written += bytes_read;
}
if (bytes_read == -1)
error (EXIT_FAILURE, errno, "%s", pretty_filename);
return n_written;
}
/* Print the last N_LINES lines from the end of file FD.
Go backward through the file, reading `BUFSIZ' bytes at a time (except
probably the first), until we hit the start of the file or have
read NUMBER newlines.
POS starts out as the length of the file (the offset of the last
byte of the file + 1).
FILE_LENGTH is the length of the file (one more than the offset of the
last byte of the file).
Return 0 if successful, 1 if an error occurred. */
static int
file_lines (const char *pretty_filename, int fd, long int n_lines, off_t pos)
file_lines (const char *pretty_filename, int fd, long int n_lines,
off_t file_length)
{
char buffer[BUFSIZ];
int bytes_read;
int i; /* Index into `buffer' for scanning. */
off_t pos = file_length;
if (n_lines == 0)
return 0;
@@ -312,6 +346,8 @@ file_lines (const char *pretty_filename, int fd, long int n_lines, off_t pos)
print the text after it. */
if (i != bytes_read - 1)
xwrite (STDOUT_FILENO, &buffer[i + 1], bytes_read - (i + 1));
dump_remainder (pretty_filename, fd,
file_length - (pos + bytes_read));
return 0;
}
}
@@ -321,6 +357,7 @@ file_lines (const char *pretty_filename, int fd, long int n_lines, off_t pos)
/* Not enough lines in the file; print the entire file. */
/* FIXME: check lseek return value */
lseek (fd, (off_t) 0, SEEK_SET);
dump_remainder (pretty_filename, fd, file_length);
return 0;
}
pos -= BUFSIZ;
@@ -328,11 +365,13 @@ file_lines (const char *pretty_filename, int fd, long int n_lines, off_t pos)
lseek (fd, pos, SEEK_SET);
}
while ((bytes_read = safe_read (fd, buffer, BUFSIZ)) > 0);
if (bytes_read == -1)
{
error (0, errno, "%s", pretty_filename);
return 1;
}
return 0;
}
@@ -603,28 +642,6 @@ start_lines (const char *pretty_filename, int fd, long int n_lines)
return 0;
}
/* Display file PRETTY_FILENAME from the current position in FD to the end.
Return the number of bytes read from the file. */
static long
dump_remainder (const char *pretty_filename, int fd)
{
char buffer[BUFSIZ];
int bytes_read;
long total;
total = 0;
while ((bytes_read = safe_read (fd, buffer, BUFSIZ)) > 0)
{
xwrite (STDOUT_FILENO, buffer, bytes_read);
total += bytes_read;
}
if (bytes_read == -1)
error (EXIT_FAILURE, errno, "%s", pretty_filename);
return total;
}
/* FIXME: describe */
static void
@@ -828,7 +845,8 @@ tail_forever (struct File_spec *f, int nfiles)
write_header (pretty_name (&f[i]), NULL);
last = i;
}
f[i].size += dump_remainder (pretty_name (&f[i]), f[i].fd);
f[i].size += dump_remainder (pretty_name (&f[i]), f[i].fd,
COPY_TO_EOF);
}
if (n_live_files (f, nfiles) == 0 && ! allow_missing)
@@ -855,10 +873,6 @@ tail_bytes (const char *pretty_filename, int fd, off_t n_bytes)
while binary output will preserve the style (Unix/DOS) of text file. */
SET_BINARY2 (fd, STDOUT_FILENO);
/* FIXME: resolve this like in dd.c. */
/* Use fstat instead of checking for errno == ESPIPE because
lseek doesn't work on some special files but doesn't return an
error, either. */
if (fstat (fd, &stats))
{
error (0, errno, "%s", pretty_filename);
@@ -876,7 +890,7 @@ tail_bytes (const char *pretty_filename, int fd, off_t n_bytes)
{
return 1;
}
dump_remainder (pretty_filename, fd);
dump_remainder (pretty_filename, fd, COPY_TO_EOF);
}
else
{
@@ -915,7 +929,7 @@ tail_bytes (const char *pretty_filename, int fd, off_t n_bytes)
/* FIXME: check lseek return value */
lseek (fd, -n_bytes, SEEK_END);
}
dump_remainder (pretty_filename, fd);
dump_remainder (pretty_filename, fd, n_bytes);
}
else
return pipe_bytes (pretty_filename, fd, n_bytes);
@@ -946,7 +960,7 @@ tail_lines (const char *pretty_filename, int fd, long int n_lines)
{
if (start_lines (pretty_filename, fd, n_lines))
return 1;
dump_remainder (pretty_filename, fd);
dump_remainder (pretty_filename, fd, COPY_TO_EOF);
}
else
{
@@ -962,7 +976,6 @@ tail_lines (const char *pretty_filename, int fd, long int n_lines)
length = lseek (fd, (off_t) 0, SEEK_END);
if (length != 0 && file_lines (pretty_filename, fd, n_lines, length))
return 1;
dump_remainder (pretty_filename, fd);
}
else
return pipe_lines (pretty_filename, fd, n_lines);

View File

@@ -47,6 +47,7 @@
int gethostname ();
char *ttyname ();
char *canon_host ();
/* The name this program was run with. */
char *program_name;
@@ -173,10 +174,9 @@ print_entry (const STRUCT_UTMP *utmp_ent)
else
printf (" . ");
}
#ifdef HAVE_UT_HOST
#if HAVE_UT_HOST
if (utmp_ent->ut_host[0] && do_lookup)
{
extern char *canon_host ();
char ut_host[sizeof (utmp_ent->ut_host) + 1];
char *host = 0, *display = 0;

8
tests/.env-warn Normal file
View File

@@ -0,0 +1,8 @@
***************************** WARNING ************************************
You seem to have set the POSIXLY_CORRECT environment variable,
this might cause some of the tests in this package to fail.
If any test fails, clear POSIXLY_CORRECT from the environment,
and rerun all tests.
***************************** WARNING ************************************

View File

@@ -57,12 +57,17 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -104,17 +109,22 @@ AUTOMAKE_OPTIONS = 1.4 gnits
TESTS = basic
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = top_srcdir=$(top_srcdir) srcdir=$(srcdir) PERL="@PERL@" PATH=../../src:$$PATH PROG=basename
TESTS_ENVIRONMENT = \
top_srcdir=$(top_srcdir) \
srcdir=$(srcdir) \
PERL="@PERL@" \
PATH=../../src:$$PATH \
PROG=basename
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -149,25 +159,52 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; \
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \
for tst in $(TESTS); do \
if test -f $$tst; then dir=.; \
else dir="$(srcdir)"; fi; \
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
echo "PASS: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
fi; \
done; \
if test "$$failed" -eq 0; then \
banner="All $$all tests passed"; \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
banner="$$failed of $$all tests failed"; \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
@@ -231,7 +268,7 @@ maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-TESTS info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -102,10 +107,11 @@ TESTS_ENVIRONMENT = \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -141,6 +147,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -105,10 +110,11 @@ TESTS_ENVIRONMENT = \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -144,6 +150,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,12 +57,17 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -92,9 +97,23 @@ l = @l@
x = cut
explicit =
maint_gen = 1.I 1.X 2.I 2.X 3.I 3.X 4.I 4.X 5.I 5.X 6.I 6.X 7.I 7.X 8.I 8.X 9.I 9.X a.I a.X b.I b.X c.I c.X d.I d.X e.I e.X f.I f.X g.I g.X h.I h.X i.I i.X j.I j.X k.I k.X l.I l.X m.I m.X n.I n.X o.I o.X p.I p.X q.I q.X r.I r.X s.I s.X t.I t.X u.I u.X v.I v.X w.I w.X x.I x.X y.I y.X z.I z.X empty-fl.I empty-fl.X missing-fl.I missing-fl.X empty-bl.I empty-bl.X missing-bl.I missing-bl.X empty-f1.I empty-f1.X empty-f2.I empty-f2.X o-delim.I o-delim.X nul-idelim.I nul-idelim.X nul-odelim.I nul-odelim.X multichar-od.I multichar-od.X 8bit-delim.I 8bit-delim.X
maint_gen = 1.I 1.X 2.I 2.X 3.I 3.X 4.I 4.X 5.I 5.X 6.I 6.X 7.I 7.X 8.I 8.X \
9.I 9.X a.I a.X b.I b.X c.I c.X d.I d.X e.I e.X f.I f.X g.I g.X h.I h.X i.I \
i.X j.I j.X k.I k.X l.I l.X m.I m.X n.I n.X o.I o.X p.I p.X q.I q.X r.I r.X \
s.I s.X t.I t.X u.I u.X v.I v.X w.I w.X x.I x.X y.I y.X z.I z.X empty-fl.I \
empty-fl.X missing-fl.I missing-fl.X empty-bl.I empty-bl.X missing-bl.I \
missing-bl.X empty-f1.I empty-f1.X empty-f2.I empty-f2.X o-delim.I o-delim.X \
nul-idelim.I nul-idelim.X nul-odelim.I nul-odelim.X multichar-od.I \
multichar-od.X 8bit-delim.I 8bit-delim.X
run_gen = 1.O 1.E 2.O 2.E 3.O 3.E 4.O 4.E 5.O 5.E 6.O 6.E 7.O 7.E 8.O 8.E 9.O 9.E a.O a.E b.O b.E c.O c.E d.O d.E e.O e.E f.O f.E g.O g.E h.O h.E i.O i.E j.O j.E k.O k.E l.O l.E m.O m.E n.O n.E o.O o.E p.O p.E q.O q.E r.O r.E s.O s.E t.O t.E u.O u.E v.O v.E w.O w.E x.O x.E y.O y.E z.O z.E empty-fl.O empty-fl.E missing-fl.O missing-fl.E empty-bl.O empty-bl.E missing-bl.O missing-bl.E empty-f1.O empty-f1.E empty-f2.O empty-f2.E o-delim.O o-delim.E nul-idelim.O nul-idelim.E nul-odelim.O nul-odelim.E multichar-od.O multichar-od.E 8bit-delim.O 8bit-delim.E
run_gen = 1.O 1.E 2.O 2.E 3.O 3.E 4.O 4.E 5.O 5.E 6.O 6.E 7.O 7.E 8.O 8.E 9.O \
9.E a.O a.E b.O b.E c.O c.E d.O d.E e.O e.E f.O f.E g.O g.E h.O h.E i.O i.E \
j.O j.E k.O k.E l.O l.E m.O m.E n.O n.E o.O o.E p.O p.E q.O q.E r.O r.E s.O \
s.E t.O t.E u.O u.E v.O v.E w.O w.E x.O x.E y.O y.E z.O z.E empty-fl.O \
empty-fl.E missing-fl.O missing-fl.E empty-bl.O empty-bl.E missing-bl.O \
missing-bl.E empty-f1.O empty-f1.E empty-f2.O empty-f2.E o-delim.O o-delim.E \
nul-idelim.O nul-idelim.E nul-odelim.O nul-odelim.E multichar-od.O \
multichar-od.E 8bit-delim.O 8bit-delim.E
EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen)
@@ -114,12 +133,12 @@ CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
SCRIPTS = $(noinst_SCRIPTS)
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -154,25 +173,52 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; \
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \
for tst in $(TESTS); do \
if test -f $$tst; then dir=.; \
else dir="$(srcdir)"; fi; \
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
echo "PASS: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
fi; \
done; \
if test "$$failed" -eq 0; then \
banner="All $$all tests passed"; \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
banner="$$failed of $$all tests failed"; \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
@@ -238,7 +284,7 @@ maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-TESTS info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@@ -57,12 +57,17 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -102,9 +107,25 @@ l = @l@
x = date
explicit =
maint_gen = 1.X 2.X 3.X 4.X 5.X 6.X 7.X 8.X 9.X leap-1.X U95-1.X U95-2.X U95-3.X U92-1.X U92-2.X U92-3.X V92-1.X V92-2.X V92-3.X W92-1.X W92-2.X W92-3.X millen-1.X rel-0.X rel-1a.X rel-1b.X rel-2a.X rel-2b.X rel-2c.X rel-2d.X rel-2e.X rel-2f.X rel-2g.X rel-3a.X next-s.X next-m.X next-h.X next-d.X next-w.X next-mo.X next-y.X utc-0.X utc-0a.X utc-1.I utc-1.X utc-1a.I utc-1a.X date2sec-0.X date2sec-0a.X date2sec-1.X sec2date-0.X
maint_gen = 1.X 2.X 3.X 4.X 5.X 6.X 7.X 8.X 9.X leap-1.X U95-1.X U95-2.X \
U95-3.X U92-1.X U92-2.X U92-3.X V92-1.X V92-2.X V92-3.X W92-1.X W92-2.X \
W92-3.X millen-1.X rel-0.X rel-1a.X rel-1b.X rel-2a.X rel-2b.X rel-2c.X \
rel-2d.X rel-2e.X rel-2f.X rel-2g.X rel-3a.X next-s.X next-m.X next-h.X \
next-d.X next-w.X next-mo.X next-y.X utc-0.X utc-0a.X utc-1.I utc-1.X \
utc-1a.I utc-1a.X date2sec-0.X date2sec-0a.X date2sec-1.X sec2date-0.X
run_gen = 1.O 1.E 2.O 2.E 3.O 3.E 4.O 4.E 5.O 5.E 6.O 6.E 7.O 7.E 8.O 8.E 9.O 9.E leap-1.O leap-1.E U95-1.O U95-1.E U95-2.O U95-2.E U95-3.O U95-3.E U92-1.O U92-1.E U92-2.O U92-2.E U92-3.O U92-3.E V92-1.O V92-1.E V92-2.O V92-2.E V92-3.O V92-3.E W92-1.O W92-1.E W92-2.O W92-2.E W92-3.O W92-3.E millen-1.O millen-1.E rel-0.O rel-0.E rel-1a.O rel-1a.E rel-1b.O rel-1b.E rel-2a.O rel-2a.E rel-2b.O rel-2b.E rel-2c.O rel-2c.E rel-2d.O rel-2d.E rel-2e.O rel-2e.E rel-2f.O rel-2f.E rel-2g.O rel-2g.E rel-3a.O rel-3a.E next-s.O next-s.E next-m.O next-m.E next-h.O next-h.E next-d.O next-d.E next-w.O next-w.E next-mo.O next-mo.E next-y.O next-y.E utc-0.O utc-0.E utc-0a.O utc-0a.E utc-1.O utc-1.E utc-1a.O utc-1a.E date2sec-0.O date2sec-0.E date2sec-0a.O date2sec-0a.E date2sec-1.O date2sec-1.E sec2date-0.O sec2date-0.E
run_gen = 1.O 1.E 2.O 2.E 3.O 3.E 4.O 4.E 5.O 5.E 6.O 6.E 7.O 7.E 8.O 8.E 9.O \
9.E leap-1.O leap-1.E U95-1.O U95-1.E U95-2.O U95-2.E U95-3.O U95-3.E U92-1.O \
U92-1.E U92-2.O U92-2.E U92-3.O U92-3.E V92-1.O V92-1.E V92-2.O V92-2.E \
V92-3.O V92-3.E W92-1.O W92-1.E W92-2.O W92-2.E W92-3.O W92-3.E millen-1.O \
millen-1.E rel-0.O rel-0.E rel-1a.O rel-1a.E rel-1b.O rel-1b.E rel-2a.O \
rel-2a.E rel-2b.O rel-2b.E rel-2c.O rel-2c.E rel-2d.O rel-2d.E rel-2e.O \
rel-2e.E rel-2f.O rel-2f.E rel-2g.O rel-2g.E rel-3a.O rel-3a.E next-s.O \
next-s.E next-m.O next-m.E next-h.O next-h.E next-d.O next-d.E next-w.O \
next-w.E next-mo.O next-mo.E next-y.O next-y.E utc-0.O utc-0.E utc-0a.O \
utc-0a.E utc-1.O utc-1.E utc-1a.O utc-1a.E date2sec-0.O date2sec-0.E \
date2sec-0a.O date2sec-0a.E date2sec-1.O date2sec-1.E sec2date-0.O \
sec2date-0.E
EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen)
@@ -124,12 +145,12 @@ CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
SCRIPTS = $(noinst_SCRIPTS)
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -164,25 +185,52 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; \
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \
for tst in $(TESTS); do \
if test -f $$tst; then dir=.; \
else dir="$(srcdir)"; fi; \
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
echo "PASS: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
fi; \
done; \
if test "$$failed" -eq 0; then \
banner="All $$all tests passed"; \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
banner="$$failed of $$all tests failed"; \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
@@ -248,7 +296,7 @@ maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-TESTS info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -106,10 +111,11 @@ TESTS = misc
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -145,6 +151,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -106,10 +111,11 @@ TESTS = simple
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -145,6 +151,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,12 +57,17 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
@@ -104,17 +109,22 @@ AUTOMAKE_OPTIONS = 1.3b gnits
TESTS = basic
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = top_srcdir=$(top_srcdir) srcdir=$(srcdir) PERL="@PERL@" PATH=../../src:$$PATH PROG=factor
TESTS_ENVIRONMENT = \
top_srcdir=$(top_srcdir) \
srcdir=$(srcdir) \
PERL="@PERL@" \
PATH=../../src:$$PATH \
PROG=factor
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -149,25 +159,52 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; \
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \
for tst in $(TESTS); do \
if test -f $$tst; then dir=.; \
else dir="$(srcdir)"; fi; \
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
echo "PASS: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
fi; \
done; \
if test "$$failed" -eq 0; then \
banner="All $$all tests passed"; \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
banner="$$failed of $$all tests failed"; \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
@@ -231,7 +268,7 @@ maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-TESTS info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@@ -57,12 +57,17 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -92,9 +97,18 @@ l = @l@
x = head
explicit = in in-1024
maint_gen = idem-0.I idem-0.X idem-1.I idem-1.X idem-2.I idem-2.X idem-3.I idem-3.X basic-0-10.I basic-0-10.X basic-0-09.I basic-0-09.X basic-0-11.I basic-0-11.X obs-0.I obs-0.X obs-1.I obs-1.X obs-2.I obs-2.X obs-3.I obs-3.X fail-1.I fail-1.X null-1.I null-1.X posix-0.I posix-0.X posix-1.I posix-1.X posix-2.I posix-2.X posix-3.I posix-3.X
maint_gen = idem-0.I idem-0.X idem-1.I idem-1.X idem-2.I idem-2.X idem-3.I \
idem-3.X basic-0-10.I basic-0-10.X basic-0-09.I basic-0-09.X basic-0-11.I \
basic-0-11.X obs-0.I obs-0.X obs-1.I obs-1.X obs-2.I obs-2.X obs-3.I obs-3.X \
fail-1.I fail-1.X null-1.I null-1.X posix-0.I posix-0.X posix-1.I posix-1.X \
posix-2.I posix-2.X posix-3.I posix-3.X
run_gen = idem-0.O idem-0.E idem-1.O idem-1.E idem-2.O idem-2.E idem-3.O idem-3.E basic-0-10.O basic-0-10.E basic-0-09.O basic-0-09.E basic-0-11.O basic-0-11.E obs-0.O obs-0.E obs-1.O obs-1.E obs-2.O obs-2.E obs-3.O obs-3.E obs-4.O obs-4.E obs-5.O obs-5.E fail-1.O fail-1.E null-1.O null-1.E posix-0.O posix-0.E posix-1.O posix-1.E posix-2.O posix-2.E posix-3.O posix-3.E posix-4.O posix-4.E posix-5.O posix-5.E
run_gen = idem-0.O idem-0.E idem-1.O idem-1.E idem-2.O idem-2.E idem-3.O \
idem-3.E basic-0-10.O basic-0-10.E basic-0-09.O basic-0-09.E basic-0-11.O \
basic-0-11.E obs-0.O obs-0.E obs-1.O obs-1.E obs-2.O obs-2.E obs-3.O obs-3.E \
obs-4.O obs-4.E obs-5.O obs-5.E fail-1.O fail-1.E null-1.O null-1.E posix-0.O \
posix-0.E posix-1.O posix-1.E posix-2.O posix-2.E posix-3.O posix-3.E \
posix-4.O posix-4.E posix-5.O posix-5.E
EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen)
@@ -114,12 +128,12 @@ CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
SCRIPTS = $(noinst_SCRIPTS)
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -154,25 +168,52 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; \
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \
for tst in $(TESTS); do \
if test -f $$tst; then dir=.; \
else dir="$(srcdir)"; fi; \
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
echo "PASS: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
fi; \
done; \
if test "$$failed" -eq 0; then \
banner="All $$all tests passed"; \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
banner="$$failed of $$all tests failed"; \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
@@ -238,7 +279,7 @@ maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-TESTS info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -105,10 +110,11 @@ TESTS_ENVIRONMENT = \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -144,6 +150,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,12 +57,17 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -92,9 +97,21 @@ l = @l@
x = join
explicit =
maint_gen = 1a.I1 1a.I2 1a.X 1b.I1 1b.I2 1b.X 1c.I1 1c.I2 1c.X 1d.I1 1d.I2 1d.X 1e.I1 1e.I2 1e.X 1f.I1 1f.I2 1f.X 2a.I1 2a.I2 2a.X 2b.I1 2b.I2 2b.X 2c.I1 2c.I2 2c.X 3a.I1 3a.I2 3a.X 4a.I1 4a.I2 4a.X 4b.I1 4b.I2 4b.X 4c.I1 4c.I2 4c.X 4d.I1 4d.I2 4d.X 4e.I1 4e.I2 4e.X 5a.I1 5a.I2 5a.X 5b.I1 5b.I2 5b.X 5c.I1 5c.I2 5c.X 5d.I1 5d.I2 5d.X 5e.I1 5e.I2 5e.X 5f.I1 5f.I2 5f.X 5g.I1 5g.I2 5g.X 5h.I1 5h.I2 5h.X 5i.I1 5i.I2 5i.X 5j.I1 5j.I2 5j.X 5k.I1 5k.I2 5k.X 5l.I1 5l.I2 5l.X 5m.I1 5m.I2 5m.X 6a.I1 6a.I2 6a.X 6b.I1 6b.I2 6b.X 6c.I1 6c.I2 6c.X 7a.I1 7a.I2 7a.X 8a.I1 8a.I2 8a.X 8b.I1 8b.I2 8b.X 9a.I1 9a.I2 9a.X
maint_gen = 1a.I1 1a.I2 1a.X 1b.I1 1b.I2 1b.X 1c.I1 1c.I2 1c.X 1d.I1 1d.I2 \
1d.X 1e.I1 1e.I2 1e.X 1f.I1 1f.I2 1f.X 2a.I1 2a.I2 2a.X 2b.I1 2b.I2 2b.X \
2c.I1 2c.I2 2c.X 3a.I1 3a.I2 3a.X 4a.I1 4a.I2 4a.X 4b.I1 4b.I2 4b.X 4c.I1 \
4c.I2 4c.X 4d.I1 4d.I2 4d.X 4e.I1 4e.I2 4e.X 5a.I1 5a.I2 5a.X 5b.I1 5b.I2 \
5b.X 5c.I1 5c.I2 5c.X 5d.I1 5d.I2 5d.X 5e.I1 5e.I2 5e.X 5f.I1 5f.I2 5f.X \
5g.I1 5g.I2 5g.X 5h.I1 5h.I2 5h.X 5i.I1 5i.I2 5i.X 5j.I1 5j.I2 5j.X 5k.I1 \
5k.I2 5k.X 5l.I1 5l.I2 5l.X 5m.I1 5m.I2 5m.X 6a.I1 6a.I2 6a.X 6b.I1 6b.I2 \
6b.X 6c.I1 6c.I2 6c.X 7a.I1 7a.I2 7a.X 8a.I1 8a.I2 8a.X 8b.I1 8b.I2 8b.X \
9a.I1 9a.I2 9a.X
run_gen = 1a.O 1a.E 1b.O 1b.E 1c.O 1c.E 1d.O 1d.E 1e.O 1e.E 1f.O 1f.E 2a.O 2a.E 2b.O 2b.E 2c.O 2c.E 3a.O 3a.E 4a.O 4a.E 4b.O 4b.E 4c.O 4c.E 4d.O 4d.E 4e.O 4e.E 5a.O 5a.E 5b.O 5b.E 5c.O 5c.E 5d.O 5d.E 5e.O 5e.E 5f.O 5f.E 5g.O 5g.E 5h.O 5h.E 5i.O 5i.E 5j.O 5j.E 5k.O 5k.E 5l.O 5l.E 5m.O 5m.E 6a.O 6a.E 6b.O 6b.E 6c.O 6c.E 7a.O 7a.E 8a.O 8a.E 8b.O 8b.E 9a.O 9a.E
run_gen = 1a.O 1a.E 1b.O 1b.E 1c.O 1c.E 1d.O 1d.E 1e.O 1e.E 1f.O 1f.E 2a.O \
2a.E 2b.O 2b.E 2c.O 2c.E 3a.O 3a.E 4a.O 4a.E 4b.O 4b.E 4c.O 4c.E 4d.O 4d.E \
4e.O 4e.E 5a.O 5a.E 5b.O 5b.E 5c.O 5c.E 5d.O 5d.E 5e.O 5e.E 5f.O 5f.E 5g.O \
5g.E 5h.O 5h.E 5i.O 5i.E 5j.O 5j.E 5k.O 5k.E 5l.O 5l.E 5m.O 5m.E 6a.O 6a.E \
6b.O 6b.E 6c.O 6c.E 7a.O 7a.E 8a.O 8a.E 8b.O 8b.E 9a.O 9a.E
EXTRA_DIST = Test.pm $x-tests $(explicit) $(maint_gen)
@@ -114,12 +131,12 @@ CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
SCRIPTS = $(noinst_SCRIPTS)
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in TODO
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -154,25 +171,52 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; \
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \
for tst in $(TESTS); do \
if test -f $$tst; then dir=.; \
else dir="$(srcdir)"; fi; \
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
echo "PASS: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
fi; \
done; \
if test "$$failed" -eq 0; then \
banner="All $$all tests passed"; \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
banner="$$failed of $$all tests failed"; \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
@@ -238,7 +282,7 @@ maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-TESTS info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -102,10 +107,11 @@ TESTS_ENVIRONMENT = \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -141,6 +147,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -106,10 +111,11 @@ TESTS = tests
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -145,6 +151,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -100,10 +105,11 @@ TESTS_ENVIRONMENT = LS=../../src/ls TOUCH=../../src/touch
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -139,6 +145,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,12 +57,17 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -92,19 +97,24 @@ l = @l@
EXTRA_DIST = $(TESTS)
TESTS_ENVIRONMENT = top_srcdir=$(top_srcdir) srcdir=$(srcdir) PERL="@PERL@" PATH=../../src:$$PATH PROG='md5sum --text'
TESTS_ENVIRONMENT = \
top_srcdir=$(top_srcdir) \
srcdir=$(srcdir) \
PERL="@PERL@" \
PATH=../../src:$$PATH \
PROG='md5sum --text'
TESTS = basic-1 newline-1
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
@@ -139,25 +149,52 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; \
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \
for tst in $(TESTS); do \
if test -f $$tst; then dir=.; \
else dir="$(srcdir)"; fi; \
if $(TESTS_ENVIRONMENT) $$dir/$$tst; then \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
echo "PASS: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
fi; \
done; \
if test "$$failed" -eq 0; then \
banner="All $$all tests passed"; \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
banner="$$failed of $$all tests failed"; \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes=`echo "$$banner" | sed s/./=/g`; \
echo "$$dashes"; \
@@ -221,7 +258,7 @@ maintainer-clean: maintainer-clean-am
.PHONY: tags distdir check-TESTS info-am info dvi-am dvi check check-am \
installcheck-am installcheck install-exec-am install-exec \
install-data-am install-data install-am install uninstall-am uninstall \
all-redirect all-am all installdirs mostlyclean-generic \
all-redirect all-am all install-strip installdirs mostlyclean-generic \
distclean-generic clean-generic maintainer-clean-generic clean \
mostlyclean distclean maintainer-clean

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -100,10 +105,11 @@ TESTS_ENVIRONMENT = MKDIR=../../src/mkdir
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -139,6 +145,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -57,6 +57,10 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AMTAR = @AMTAR@
AMTARFLAGS = @AMTARFLAGS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
@@ -64,6 +68,7 @@ CPP = @CPP@
DATADIRNAME = @DATADIRNAME@
DF_PROG = @DF_PROG@
GENCAT = @GENCAT@
GETCONF = @GETCONF@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNU_PACKAGE = @GNU_PACKAGE@
@@ -115,10 +120,11 @@ TESTS_ENVIRONMENT = \
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = ../../config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
DIST_COMMON = Makefile.am Makefile.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(TEXINFOS) $(EXTRA_DIST)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
GZIP_ENV = --best
all: all-redirect
@@ -154,6 +160,7 @@ distdir: $(DISTFILES)
|| cp -p $$d/$$file $(distdir)/$$file || :; \
fi; \
done
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; \
srcdir=$(srcdir); export srcdir; \

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 1
-- Date/Time -- x Page 1
@@ -66,7 +66,7 @@
- Date/Time -- x Page 2
-- Date/Time -- x Page 2
1 FF-Test: FF's at Start of File V
@@ -132,7 +132,7 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
@@ -198,7 +198,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -264,7 +264,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 1
-- Date/Time -- x Page 1
@@ -66,7 +66,7 @@
- Date/Time -- x Page 2
-- Date/Time -- x Page 2
@@ -132,7 +132,7 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
1 FF-Test: FF's at Start of File V
@@ -198,7 +198,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -264,7 +264,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -330,7 +330,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
29 xyzxyzxyz XYZXYZXYZ abcabcab

7
tests/pr/2S_f-t_notab Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw-xyzzz:dddd.bcde-fghijklmn-opqrstuvw-xyzzz
bbbb.bcde-fghijklmn-opqrstuvw-xyzzz:eeee.bcde-fghijklmn-opqrstuvw-xyzzz
cccc.bcde-fghijklmn-opqrstuvw-xyzzz

7
tests/pr/2Sf-t_notab Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw-xyzzzzdddd.bcde-fghijklmn-opqrstuvw-xyzzzz
bbbb.bcde-fghijklmn-opqrstuvw-xyzzzzeeee.bcde-fghijklmn-opqrstuvw-xyzzzz
cccc.bcde-fghijklmn-opqrstuvw-xyzzzz

7
tests/pr/2f-t_notab Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw-xyzzz dddd.bcde-fghijklmn-opqrstuvw-xyzzz
bbbb.bcde-fghijklmn-opqrstuvw-xyzzz eeee.bcde-fghijklmn-opqrstuvw-xyzzz
cccc.bcde-fghijklmn-opqrstuvw-xyzzz

7
tests/pr/2s_f-t_notab Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:dddd.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-dddddddddddddddddddddddddddddddddddddddd
bbbb.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb:eeee.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
cccc.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-cccccccccccccccccccccccccccccccccccccccc

7
tests/pr/2s_w60f-t_nota Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw:dddd.bcde-fghijklmn-opqrstuvw
bbbb.bcde-fghijklmn-opqrstuvw:eeee.bcde-fghijklmn-opqrstuvw
cccc.bcde-fghijklmn-opqrstuvw

7
tests/pr/2sf-t_notab Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa dddd.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-dddddddddddddddddddddddddddddddddddddddd
bbbb.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb eeee.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
cccc.bcde-fghijklmn-opqrstuvw-xyzzzzzzz-cccccccccccccccccccccccccccccccccccccccc

7
tests/pr/2sw60f-t_notab Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw-dddd.bcde-fghijklmn-opqrstuvw-
bbbb.bcde-fghijklmn-opqrstuvw-eeee.bcde-fghijklmn-opqrstuvw-
cccc.bcde-fghijklmn-opqrstuvw-

7
tests/pr/2w60f-t_notab Normal file
View File

@@ -0,0 +1,7 @@
-- Date/Time -- x Page 1
aaaa.bcde-fghijklmn-opqrstuvw dddd.bcde-fghijklmn-opqrstuvw
bbbb.bcde-fghijklmn-opqrstuvw eeee.bcde-fghijklmn-opqrstuvw
cccc.bcde-fghijklmn-opqrstuvw

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
@@ -66,7 +66,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -132,7 +132,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,4 +1,4 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -15,7 +15,7 @@
40 DEFGHI 123456789
41 yzxyzxyz XYZXYZXYZ abcabcab
42 456789 123456789 abcdefghi ABCDEDFHI
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -32,7 +32,7 @@
4 12345678
55 yzxyzxyz XYZXYZXYZ abcabcab
56 456789 123456789 abcdefghi ABCDEDFHI
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -66,7 +66,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -132,7 +132,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -198,7 +198,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -264,7 +264,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
@@ -330,7 +330,7 @@
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -396,7 +396,7 @@
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15 xyzxyzxyz XYZXYZXYZ abcabcab 16 456789 123456789 xyzxyzxyz XYZXY
@@ -17,7 +17,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -34,7 +34,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab 30 456789 123456789 xyzxyzxyz XYZXY
@@ -51,7 +51,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -68,7 +68,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
@@ -85,7 +85,7 @@
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab 44 456789 123456789 xyzxyzxyz XYZXY
@@ -102,7 +102,7 @@
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab 58 456789 123456789 xyzxyzxyz XYZXY

View File

@@ -1,18 +1,18 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7
8 9 3456789 ab 20 DEFGHI 123
1 2 3
4 5 6
15 xyzxyzxyz XYZXYZXYZ 16 456789 123456789 xyz 7
8 9 3456789 ab 20 DEFGHI 123
1 2 3
4 5 6
27 no truncation before 28 no trunc
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1
2 3456789 abcdefghi 3
29 xyzxyzxyz XYZXYZXYZ 30 456789 123456789 xyz 1
2 3456789 abcdefghi 3

View File

@@ -1,13 +1,13 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
1 2 3456789 abcdefghi 3
4 5 6
7 8 9 3456789 abcdefghi
40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc
43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5
1 2 3456789 abcdefghi 3
4 5 6
7 8 9 3456789 abcdefghi
40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc
43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5
@@ -15,14 +15,14 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
6 7 8
9 50 1
2 3 4
6 7 8
9 50 1
2 3 4
55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ
58 456789 123456789 xyz 9 60 DEFGHI 123456789
58 456789 123456789 xyz 9 60 DEFGHI 123456789
@@ -30,10 +30,10 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
1 2 3 ------- EOF --------
1 2 3 ------- EOF --------

View File

@@ -1,21 +1,21 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
1 2 3456789 abcdefghi 3
4 5 6
7 8 9 3456789 abcdefghi
40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc
43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5
- Date/Time -- x Page 4
1 2 3456789 abcdefghi 3
4 5 6
7 8 9 3456789 abcdefghi
40 DEFGHI 123456789 41 yzxyzxyz XYZXYZXYZ a 42 456789 123456789 abc
43 xyzxyzxyz XYZXYZXYZ 44 456789 123456789 xyz 5
-- Date/Time -- x Page 4
6 7 8
9 50 1
2 3 4
6 7 8
9 50 1
2 3 4
55 yzxyzxyz XYZXYZXYZ a 56 456789 123456789 abc 57 xyzxyzxyz XYZXYZXYZ
58 456789 123456789 xyz 9 60 DEFGHI 123456789
- Date/Time -- x Page 5
58 456789 123456789 xyz 9 60 DEFGHI 123456789
-- Date/Time -- x Page 5
1 2 3 ------- EOF --------
1 2 3 ------- EOF --------

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15 xyzxyzxyz XYZXYZXYZ abcabcab 2
@@ -17,7 +17,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -34,7 +34,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab 6
@@ -51,7 +51,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -68,7 +68,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
@@ -85,7 +85,7 @@
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab 50
@@ -102,7 +102,7 @@
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab 9

View File

@@ -1,18 +1,18 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5
16 456789 123456789 xyz 1 6
7 2 27 no truncation before
8 3 28 no trunc
9 3456789 ab 4
- Date/Time -- x Page 5
15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5
16 456789 123456789 xyz 1 6
7 2 27 no truncation before
8 3 28 no trunc
9 3456789 ab 4
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ 1 3
29 xyzxyzxyz XYZXYZXYZ 1 3
30 456789 123456789 xyz 2 3456789 abcdefghi

View File

@@ -1,26 +1,26 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
1 FF-Test: FF's at St 6 FF-Arangements: Emp 1
2 Options -b -3 / -a 7 \ftext; \f\ntext; 2
2 Options -b -3 / -a 7 \ftext; \f\ntext; 2
3 ------------------- 8 \f\ftext; \f\f\ntex 3 line truncation befor
4 3456789 123456789 123 9 3456789 123456789 123 14 456789 123456789 123
5 3 Columns downwards 10 zzzzzzzzzzzzzzzzzzz
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5
16 456789 123456789 xyz 1 6
7 2 27 no truncation before
8 3 28 no trunc
9 3456789 ab 4
- Date/Time -- x Page 6
15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5
16 456789 123456789 xyz 1 6
7 2 27 no truncation before
8 3 28 no trunc
9 3456789 ab 4
-- Date/Time -- x Page 6
29 xyzxyzxyz XYZXYZXYZ 1 3
29 xyzxyzxyz XYZXYZXYZ 1 3
30 456789 123456789 xyz 2 3456789 abcdefghi

View File

@@ -1,42 +1,42 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5
16 456789 123456789 xyz 1 6
7 2 27 no truncation before
8 3 28 no trunc
9 3456789 ab 4
- Date/Time -- x Page 4
15 xyzxyzxyz XYZXYZXYZ 20 DEFGHI 123 5
16 456789 123456789 xyz 1 6
7 2 27 no truncation before
8 3 28 no trunc
9 3456789 ab 4
-- Date/Time -- x Page 4
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi
30 456789 123456789 xyz 5 40 DEFGHI 123456789
1 6 41 yzxyzxyz XYZXYZXYZ a
2 3456789 abcdefghi 7 42 456789 123456789 abc
3 8
- Date/Time -- x Page 6
29 xyzxyzxyz XYZXYZXYZ 4 9 3456789 abcdefghi
30 456789 123456789 xyz 5 40 DEFGHI 123456789
1 6 41 yzxyzxyz XYZXYZXYZ a
2 3456789 abcdefghi 7 42 456789 123456789 abc
3 8
-- Date/Time -- x Page 6
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ 8 3
44 456789 123456789 xyz 9 4
5 50 55 yzxyzxyz XYZXYZXYZ a
6 1 56 456789 123456789 abc
7 2
- Date/Time -- x Page 9
43 xyzxyzxyz XYZXYZXYZ 8 3
44 456789 123456789 xyz 9 4
5 50 55 yzxyzxyz XYZXYZXYZ a
6 1 56 456789 123456789 abc
7 2
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ 9 60 DEFGHI 123456789
57 xyzxyzxyz XYZXYZXYZ 9 60 DEFGHI 123456789
58 456789 123456789 xyz

View File

@@ -1,13 +1,13 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
1 6 41 yzxyzxyz XYZXYZXYZ a
2 3456789 abcdefghi 7 42 456789 123456789 abc
3 8 43 xyzxyzxyz XYZXYZXYZ
4 9 3456789 abcdefghi 44 456789 123456789 xyz
5 40 DEFGHI 123456789 5
1 6 41 yzxyzxyz XYZXYZXYZ a
2 3456789 abcdefghi 7 42 456789 123456789 abc
3 8 43 xyzxyzxyz XYZXYZXYZ
4 9 3456789 abcdefghi 44 456789 123456789 xyz
5 40 DEFGHI 123456789 5
@@ -15,14 +15,14 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
6 1 56 456789 123456789 abc
7 2 57 xyzxyzxyz XYZXYZXYZ
8 3 58 456789 123456789 xyz
9 4 9
50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789
6 1 56 456789 123456789 abc
7 2 57 xyzxyzxyz XYZXYZXYZ
8 3 58 456789 123456789 xyz
9 4 9
50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789
@@ -30,10 +30,10 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
1 2 3 ------- EOF --------
1 2 3 ------- EOF --------

View File

@@ -1,21 +1,21 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
1 6 41 yzxyzxyz XYZXYZXYZ a
2 3456789 abcdefghi 7 42 456789 123456789 abc
3 8 43 xyzxyzxyz XYZXYZXYZ
4 9 3456789 abcdefghi 44 456789 123456789 xyz
5 40 DEFGHI 123456789 5
- Date/Time -- x Page 4
1 6 41 yzxyzxyz XYZXYZXYZ a
2 3456789 abcdefghi 7 42 456789 123456789 abc
3 8 43 xyzxyzxyz XYZXYZXYZ
4 9 3456789 abcdefghi 44 456789 123456789 xyz
5 40 DEFGHI 123456789 5
-- Date/Time -- x Page 4
6 1 56 456789 123456789 abc
7 2 57 xyzxyzxyz XYZXYZXYZ
8 3 58 456789 123456789 xyz
9 4 9
50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789
- Date/Time -- x Page 5
6 1 56 456789 123456789 abc
7 2 57 xyzxyzxyz XYZXYZXYZ
8 3 58 456789 123456789 xyz
9 4 9
50 55 yzxyzxyz XYZXYZXYZ a 60 DEFGHI 123456789
-- Date/Time -- x Page 5
1 2 3 ------- EOF --------
1 2 3 ------- EOF --------

View File

@@ -1,8 +1,8 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -19,7 +19,7 @@
6 12345678
27 no truncation before FF; (r_l-test):
28 no trunc
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,4 +1,4 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -15,11 +15,11 @@
6 12345678
27 no truncation before FF; (r_l-test):
28 no trunc
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -36,15 +36,15 @@
40 DEFGHI 123456789
41 yzxyzxyz XYZXYZXYZ abcabcab
42 456789 123456789 abcdefghi ABCDEDFHI
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -61,7 +61,7 @@
4 12345678
55 yzxyzxyz XYZXYZXYZ abcabcab
56 456789 123456789 abcdefghi ABCDEDFHI
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,4 +1,4 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -15,7 +15,7 @@
40 DEFGHI 123456789
41 yzxyzxyz XYZXYZXYZ abcabcab
42 456789 123456789 abcdefghi ABCDEDFHI
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -32,7 +32,7 @@
4 12345678
55 yzxyzxyz XYZXYZXYZ abcabcab
56 456789 123456789 abcdefghi ABCDEDFHI
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -24,7 +24,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -48,7 +48,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,4 +1,4 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -15,7 +15,7 @@
40 DEFGHI 123456789 40 DEFGHI 123456789
41 yzxyzxyz XYZXYZXYZ abcabcab 41 yzxyzxyz XYZXYZXYZ abcabcab
42 456789 123456789 abcdefghi ABCDE 42 456789 123456789 abcdefghi ABCDE
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -32,7 +32,7 @@
4 4
55 yzxyzxyz XYZXYZXYZ abcabcab 55 yzxyzxyz XYZXYZXYZ abcabcab
56 456789 123456789 abcdefghi ABCDE 56 456789 123456789 abcdefghi ABCDE
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -24,7 +24,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -48,7 +48,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -72,7 +72,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -96,7 +96,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
@@ -120,7 +120,7 @@
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -144,7 +144,7 @@
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
29 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -24,7 +24,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
43 xyzxyzxyz XYZXYZXYZ abcabcab 43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -48,7 +48,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
57 xyzxyzxyz XYZXYZXYZ abcabcab 57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
29 xyzxyzxyz XYZXYZXYZ abcabcab 15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -24,7 +24,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -48,7 +48,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
57 xyzxyzxyz XYZXYZXYZ abcabcab 29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -72,7 +72,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -96,7 +96,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
@@ -120,7 +120,7 @@
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -144,7 +144,7 @@
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -24,7 +24,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -48,7 +48,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -72,7 +72,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -24,7 +24,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -48,7 +48,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -72,7 +72,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
@@ -96,7 +96,7 @@
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -120,7 +120,7 @@
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,6 +1,6 @@
- Date/Time -- x Page 1
-- Date/Time -- x Page 1
1 FF-Test: FF's in Text V
@@ -66,7 +66,7 @@
- Date/Time -- x Page 2
-- Date/Time -- x Page 2
@@ -132,7 +132,7 @@
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -198,7 +198,7 @@
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
@@ -264,7 +264,7 @@
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -330,7 +330,7 @@
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
@@ -396,7 +396,7 @@
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
@@ -462,7 +462,7 @@
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43 xyzxyzxyz XYZXYZXYZ abcabcab
@@ -528,7 +528,7 @@
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57 xyzxyzxyz XYZXYZXYZ abcabcab

View File

@@ -1,4 +1,4 @@
- Date/Time -- x Page 1
-- Date/Time -- x Page 1
1<<< -Test: FF's in Text >>> 2<<< -b -3 / -a -3 / ... >>> 3<<< >>>
@@ -6,11 +6,11 @@
7<<< \f\f\n; text\f\n\ftext; \f\ftext; >>> 8<<< f\f\n; \f\n\f\n; >>> 9<<< >>>
10<<< >>> 1<<< >>> 2<<< >>>
3<<< truncation before FF; r_r_o_l-test: >>> 14<<< 123456789 123456789 123456789 >>>
- Date/Time -- x Page 2
-- Date/Time -- x Page 2
- Date/Time -- x Page 3
-- Date/Time -- x Page 3
15<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 16<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 7<<< >>>
@@ -18,11 +18,11 @@
1<<< >>>
4<<< >>> 5<<< >>> 6<<< >>>
27<<< truncation before FF; (r_l-test): >>> 28<<< trunc
- Date/Time -- x Page 4
-- Date/Time -- x Page 4
- Date/Time -- x Page 5
-- Date/Time -- x Page 5
29<<<xyzxyzxyz XYZXYZXYZ abcabcab >>> 30<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 1<<< >>>
@@ -30,15 +30,15 @@
5<<< >>> 6<<< >>> 7<<< >>>
8<<< >>> 9<<< abcdefghi >>> 40<<< 123456789 >>>
41<<< XYZXYZXYZ abcabcab >>> 42<<< 123456789 abcdefghi ABCDEDFHI >>>
- Date/Time -- x Page 6
-- Date/Time -- x Page 6
- Date/Time -- x Page 7
-- Date/Time -- x Page 7
- Date/Time -- x Page 8
-- Date/Time -- x Page 8
43<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 44<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 5<<< >>>
@@ -46,7 +46,7 @@
9<<< >>> 50<<< >>> 1<<< >>>
2<<< >>> 3<<< >>> 4<<< >>>
55<<< XYZXYZXYZ abcabcab >>> 56<<< 123456789 abcdefghi ABCDEDFHI >>>
- Date/Time -- x Page 9
-- Date/Time -- x Page 9
57<<< xyzxyzxyz XYZXYZXYZ abcabcab >>> 58<<< 123456789 xyzxyzxyz XYZXYZXYZ >>> 9<<< >>>

Some files were not shown because too many files have changed in this diff Show More