1 2000-10-30 Paul Eggert <eggert@twinsun.com>
3 * lib/error.h, lib/getline.h, lib/modechange.h:
4 Remove "2000" from Copyright line, as the file hasn't been
5 changed this year other than in the copyright notice.
7 * lib/xalloc.h: Add "2000" to Copyright line, as this file
10 2000-10-30 Paul Eggert <eggert@twinsun.com>
12 * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
13 (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
14 e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
16 2000-10-29 Greg Louis <glouis@dynamicro.on.ca>
18 * regex.h (__restrict_arr): Move definition out of #ifndef block.
19 Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
20 doesn't define __restrict_arr.
22 2000-10-29 Jim Meyering <meyering@lucent.com>
24 * xstat.in: Fix grammar in comment.
26 2000-10-28 Jim Meyering <meyering@lucent.com>
28 * memchr.c: Update from libc.
29 Adjust for portability:
30 [HAVE_STDLIB_H]: Include stdlib.h.
31 [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
33 [!weak_alias]: Define __memchr to memchr.
35 * regex.c: Update from libc.
37 * getopt1.c: Likewise.
40 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
41 Patch by Ulrich Drepper.
43 2000-10-26 Jim Meyering <meyering@lucent.com>
45 * strftime.c: Update from libc.
47 2000-10-25 Jim Meyering <meyering@lucent.com>
49 * obstack.c: Update from libc.
51 2000-10-23 Jim Meyering <meyering@lucent.com>
53 * hard-locale.c (hard_locale): Revert last change -- it was simply
54 wrong. That set_locale call must not have any side effects.
57 2000-10-22 Jim Meyering <meyering@lucent.com>
59 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
60 [CYCLIC]: Remove now-unused definition.
62 * save-cwd.c (O_DIRECTORY): Define, if needed.
63 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
64 Suggestion from Ulrich Drepper.
66 2000-10-21 Jim Meyering <meyering@lucent.com>
68 * dirname.c (dir_name_r): New function, factored out of dir_name.
69 (dir_name): Use dir_name_r.
70 * dirname.h (dir_name_r): Declare it.
72 2000-10-21 Jim Meyering <meyering@lucent.com>
74 * dirname.c (memrchr): Declare if necessary.
75 (dir_name): Remove the restriction that there be no
76 trailing slashes. Now, this code skips past them, effectively
78 [TEST_DIRNAME] (main): New unit tests.
80 * memrchr.c: New file from GNU libc.
82 [!weak_alias]: Define __memrchr to memrchr.
83 Guard weak_alias use with `#ifdef weak_alias'.
85 2000-10-17 Jim Meyering <meyering@lucent.com>
87 * quote.h (PARAMS): Define and use.
88 Reported by Akim Demaille.
90 * getopt.c: Update from libc.
92 2000-10-16 Jim Meyering <meyering@lucent.com>
94 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
97 2000-09-25 Jim Meyering <meyering@lucent.com>
99 * md5.h (rol): Define (from GnuPG).
101 * sha.c: Give credit (GnuPG) where due.
102 (M): Use rol rather than open-coding it.
105 2000-09-21 Jim Meyering <meyering@lucent.com>
107 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
108 Reported by Michael Stone.
110 2000-09-20 Jim Meyering <meyering@lucent.com>
112 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
113 (noinst_HEADERS): Add sha.h.
114 Based on code from Scott G. Miller and from GnuPG.
116 2000-09-15 Jim Meyering <meyering@lucent.com>
118 * regex.c: Update from libc.
120 2000-09-10 Jim Meyering <meyering@lucent.com>
122 * getopt.c (_getopt_internal): Update from glibc.
124 2000-09-09 Jim Meyering <meyering@lucent.com>
126 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
127 think it should be used as a general replacement for isascii.
128 * fnmatch.c: Likewise.
129 * mbswidth.c: Likewise
133 * userspec.c: Include sys/param.h and limits.h.
135 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
136 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
137 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
138 UID, GID. Check range.
140 2000-09-06 Jim Meyering <meyering@lucent.com>
142 * getopt.c (_getopt_internal): Update from glibc.
144 2000-08-30 Jim Meyering <meyering@lucent.com>
146 * strftime.c: Merge in changes from GNU libc.
148 2000-08-26 Jim Meyering <meyering@lucent.com>
150 * closeout.c: Include "__fpending.h".
151 (close_stdout_status): Return right away if there's nothing to flush.
153 * Makefile.am (noinst_HEADERS): Add __fpending.h.
154 * __fpending.c: New file.
155 * __fpending.h: New file.
157 2000-08-07 Paul Eggert <eggert@twinsun.com>
159 Standardize on "memory exhausted" instead of "Memory exhausted"
160 or "virtual memory exhausted".
161 * obstack.c (print_and_abort): Use "memory exhausted", not
162 "virtual memory exhausted".
163 * same.c (same_name): Invoke xalloc_die instead of printing
165 * userspec.c (parse_user_spec): Likewise.
166 * bumpalloc.h: comment fix
167 * same.c, userspec.c: Include xalloc.h.
169 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
170 not char *const and pointing to a constant array.
171 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
172 (xrealloc): Comment fix.
174 * userspec.c (parse_user_spec):
175 Don't translate a message until just before returning,
176 to avoid unnecessary translation.
178 2000-08-07 Jim Meyering <meyering@lucent.com>
180 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
181 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
182 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
183 getgroups.c, gethostname.c, getopt.h, group-member.c,
184 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
185 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
186 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
187 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
188 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
189 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
190 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
191 yesno.c: Back out Copyright date changes for each file with no change
192 this year. This eases coordination with other programs using the same
193 source code modules. From Paul Eggert.
195 2000-08-03 Greg McGary <greg@mcgary.org>
197 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
198 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
199 (EXTEND_BUFFER): Use them.
201 2000-08-01 Jim Meyering <meyering@lucent.com>
203 * dirname.c (ISSLASH): Define.
204 (BACKSLASH_IS_PATH_SEPARATOR): Define.
205 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
206 both `\' and `/' may be use as path separators.
207 Based on a patch from Prashant TR.
209 2000-07-31 Paul Eggert <eggert@twinsun.com>
211 * quotearg.c (quotearg_n_options): Don't make the initial
212 slot vector a constant, since it might get modified.
214 2000-07-31 Jim Meyering <meyering@lucent.com>
216 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
217 * obstack.c (print_and_abort): Likewise.
219 2000-07-30 Paul Eggert <eggert@twinsun.com>
221 * quotearg.c (quotearg_n_options): Preallocate a slot 0
222 buffer, so that the caller can always quote one small
223 component of a "memory exhausted" message in slot 0.
224 From a suggestion by Jim Meyering.
226 2000-07-30 Jim Meyering <meyering@lucent.com>
228 * makepath.c (make_path): Quote the other instance, too.
230 * quotearg.c (N_STATIC_SLOTVECS): Define.
231 (STATIC_BUF_SIZE): Define.
232 (quotearg_n_options): Use only statically allocated storage when
233 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
234 than STATIC_BUF_SIZE.
236 2000-07-29 Jim Meyering <meyering@lucent.com>
238 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
239 * dirname.c (dir_name): Likewise.
241 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
243 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
244 (dir_name): Assert that there are no trailing slashes.
246 2000-07-18 Bruno Haible <haible@clisp.cons.org>
248 * mbswidth.h (mbswidth): Add a flags argument.
249 (mbswidth): New declaration.
250 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
251 * mbswidth.c (mbswidth): Add a flags argument.
252 (mbsnwidth): New function.
254 2000-07-24 Jim Meyering <meyering@lucent.com>
256 * mbswidth.c: Remove useless #else. From Bruno Haible.
258 2000-07-23 Paul Eggert <eggert@twinsun.com>
260 * mbswidth.c (_XOPEN_SOURCE):
261 Don't define; this causes problems on Solaris 7.
262 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
264 2000-07-23 Paul Eggert <eggert@twinsun.com>
267 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
268 so that mbstate_t is always defined.
270 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
271 be 1 in at least one GCC installation, and this configuration
272 error is likely to be common. Ignoring MB_LEN_MAX hurts
273 performance on hosts that have mbrtowc but have only unibyte
274 locales, but I assume these hosts are rare.
276 2000-07-23 Paul Eggert <eggert@twinsun.com>
278 * quotearg.c: Streamline by invoking multibyte code only if needed.
279 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
280 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
281 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
282 invoke multibyte primitives.
284 2000-07-23 Jim Meyering <meyering@lucent.com>
286 * basename.c (base_name): Add an assertion.
288 2000-07-15 Bruno Haible <clisp.cons.org>
290 * quotearg.c: When the system forces us to redefine mbstate_t,
291 shadow its mbsinit function.
293 2000-07-16 Bruno Haible <haible@clisp.cons.org>
295 * mbswidth.h: New file.
296 * mbswidth.c: New file.
297 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
298 (noinst_HEADERS): Add mbswidth.h.
300 2000-07-17 Bruno Haible <haible@clisp.cons.org>
302 * config.charset: Add support for FreeBSD. Improve support for HP-UX
305 2000-07-15 Jim Meyering <meyering@lucent.com>
307 * makepath.c: Include quote.h.
308 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
309 corresponding argument in a `quote (...)' call.
310 Give better diagnostics.
312 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
313 (noinst_HEADERS): Add quote.h.
315 * quote.c (quote, quote_n): New file. Two functions taken verbatim
316 from tar's src/misc.c.
317 * quote.h: New file. Prototypes for same.
319 2000-07-10 Paul Eggert <eggert@twinsun.com>
321 From a suggestion by Bruno Haible.
322 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
323 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
324 to decide whether to define the BeOS workaround macro;
325 this adjusts to the change to AC_MBSTATE_T.
327 2000-07-13 Paul Eggert <eggert@twinsun.com>
329 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
331 * quotearg.c: (quoting_style_args, quoting_style_vals,
332 quotearg_buffer_restyled): Add support for
333 clocale_quoting_style. Undo previous change to
334 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
335 and "{RIGHT QUOTATION MARK}" msgids.
337 2000-07-05 Paul Eggert <eggert@twinsun.com>
339 The old behavior of quoting `like this' doesn't look good with
340 newer, ISO-style fonts. See:
341 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
343 Instead, quote "like this" by default. Let the translator
344 tailor the locale-specific quoting behavior by providing
345 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
347 * quotearg.c (N_): New macro.
348 (gettext_default): New function.
349 (quotearg_buffer_restyled): Use
350 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
351 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
353 2000-07-09 Jim Meyering <meyering@lucent.com>
355 * Most files: Update copyright dates to include 2000.
357 2000-07-08 Jim Meyering <meyering@lucent.com>
359 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
361 (xgethostname): Remove now-unnecessary #ifdef.
362 Move declaration of `err' into loop where it's used.
364 2000-07-05 Bruno Haible <haible@clisp.cons.org>
366 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
367 by allocating a larger buffer. Test the gethostname return value for
368 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
369 returns an error and ENAMETOOLONG isn't defined.
371 2000-07-05 Paul Eggert <eggert@twinsun.com>
372 and Bruno Haible <haible@clisp.cons.org>
374 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
376 2000-07-05 Bruno Haible <haible@clisp.cons.org>
378 * quotearg.c (struct quoting_options): Simplify quote_these_too
381 2000-07-03 Jim Meyering <meyering@lucent.com>
383 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
384 Reported by Bruno Haible.
386 2000-07-04 Jim Meyering <meyering@lucent.com>
388 * quotearg.c: Make inclusion of <wchar.h> independent of whether
389 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
392 2000-07-03 Paul Eggert <eggert@twinsun.com>
393 and Bruno Haible <haible@clisp.cons.org>
395 * quotearg.c (mbrtowc):
396 Assign to *pwc, and return 1 only if result is nonzero.
397 (iswprint): Use ISPRINT when substituting our own mbrtowc.
399 2000-07-03 Jim Meyering <meyering@lucent.com>
401 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
402 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
405 2000-07-02 Jim Meyering <meyering@lucent.com>
407 * quotearg.c (mbstate_t): Don't define here.
409 2000-07-02 Jim Meyering <meyering@lucent.com>
411 * nanosleep.c (SIGCONT): Define if not already defined.
413 2000-06-17 Bruno Haible <haible@clisp.cons.org>
415 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
416 per change in ../m4/ls-mntd-fs.m4.
417 (read_filesystem_list): Ignore symbolic links.
419 2000-06-29 Jim Meyering <meyering@lucent.com>
421 * same.c: Include <string.h> or <strings.h>, as appropriate,
422 for declaration of strcmp.
424 * long-options.c: Include <stdlib.h>, for declaration of exit.
426 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
427 Avoid warning by casting result to `char *' to remove `const'.
429 2000-06-17 Bruno Haible <haible@clisp.cons.org>
431 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
433 2000-06-26 Paul Eggert <eggert@twinsun.com>
435 savedir now sets errno on failure and invokes xmalloc to get memory.
436 Fix a couple of other minor bugs while we're at it.
438 * savedir.c (<unistd.h>): Do not include; there's no need.
439 (NAMLEN): Remove macro.
440 (malloc, realloc): Remove decls.
442 ("xalloc.h"): Include.
443 (NAME_SIZE_DEFAULT): New macro.
444 (savedir): Use xmalloc / xrealloc to allocate memory.
445 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
446 Skip "" directory entries.
447 Use strlen to calculate directory entry length, since the old method
448 is rarely used these days and isn't worth supporting.
449 Don't use a pointer after freeing it.
450 Check for integer overflow when calculating allocation size.
451 Use memcpy to copy entries, instead of stpcpy.
452 Set errno properly when returning NULL.
453 Check for readdir error.
455 2000-06-26 Jim Meyering <meyering@lucent.com>
457 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
459 2000-06-17 Bruno Haible <haible@clisp.cons.org>
461 * getusershell.c (xmalloc, xrealloc): Remove functions.
463 Don't include <stdlib.h>. Don't declare malloc, realloc.
465 2000-06-23 Bruno Haible <haible@clisp.cons.org>
467 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
469 2000-06-24 Jim Meyering <meyering@lucent.com>
471 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
473 2000-06-21 Jim Meyering <meyering@lucent.com>
475 * getpass.c: New file, from Bruno Haible. Required for BeOS.
477 2000-06-19 Paul Eggert <eggert@twinsun.com>
479 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
480 (mbrtowc, mbstate_t): Define substitutes if
481 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
482 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
483 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
485 2000-06-17 Bruno Haible <haible@clisp.cons.org>
487 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
488 than 1024, return a memory chunk of least possible size, instead
489 of size PATH_MAX + 2. In the loop, increment the size proportionally.
490 Use free/xmalloc instead of xrealloc to avoid copying for very long
493 2000-06-17 Bruno Haible <haible@clisp.cons.org>
495 * canon-host.c (canon_host): Use malloc and memcpy to copy an
496 address, not strdup. Include <stdlib.h> and don't declare free().
498 2000-06-17 Bruno Haible <haible@clisp.cons.org>
500 * path-concat.c (path_concat): Don't access dir[-1] if dir is
503 2000-06-21 Jim Meyering <meyering@lucent.com>
505 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
506 (noinst_HEADERS): Add getstr.h.
508 * getline.c (getstr): Move into a separate file.
509 * getstr.c (getstr): New file, extracted from getline.c, with
510 the following changes: new parameter, delim2; both delim[12]
511 parameters have type `int', not `char'. The latter would lose
512 with 8-bit delimiters.
513 * getstr.h: New file.
515 2000-06-19 Jim Meyering <meyering@lucent.com>
517 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
519 2000-06-18 Jim Meyering <meyering@lucent.com>
521 * mkdir.c: Remove file, due mainly to copyright incompatibility.
522 Besides, these days every porting target provides a mkdir function.
524 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
525 (this snippet comes from src/system.h).
527 2000-06-15 Paul Eggert <eggert@twinsun.com>
529 * human.c (adjust_value): New function.
530 (human_readable_inexact): Apply rounding style even when
531 printing approximate values.
533 2000-06-14 Paul Eggert <eggert@twinsun.com>
535 * human.c (human_readable_inexact): Allow an input block
536 size that is not a multiple of the output block size, and vice versa.
537 Reported by Piergiorgio Sartor.
539 2000-06-14 Paul Eggert <eggert@twinsun.com>
541 * getdate.y (get_date): Apply relative times after time
542 zone indicator, not before. Reported by Todd A. Jacobs.
544 2000-06-13 Jim Meyering <meyering@lucent.com>
546 * Makefile.am (all-local): Depend on lstat.c and stat.c.
548 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
550 2000-06-12 Paul Eggert <eggert@twinsun.com>
552 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
554 2000-06-04 Paul Eggert <eggert@twinsun.com>
556 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
558 2000-06-04 Jim Meyering <meyering@lucent.com>
560 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
561 SunOS4.1.4 for which gid_t is an unsigned type.
563 2000-06-03 Jim Meyering <meyering@lucent.com>
565 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
567 2000-05-26 Bruno Haible <haible@clisp.cons.org>
569 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
570 newer, don't install charset.alias.
571 * config.charset: Change the Linux/glibc rules so they become empty
572 on glibc-2.1 or newer.
574 2000-06-02 Jim Meyering <meyering@lucent.com>
576 * mountlist.c: Back out last change. Instead, do this...
577 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
578 member using the same `ignore'-testing code.
579 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
583 2000-05-29 Jim Meyering <meyering@lucent.com>
585 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
586 with the `ignore' attribute. Based on a patch from Mark D. Roth.
588 2000-05-22 Jim Meyering <meyering@lucent.com>
590 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
592 2000-05-18 Jim Meyering <meyering@lucent.com>
594 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
595 back, too, since it may have been modified by allocate_entry.
596 (hash_delete): Rewrite to use neither the assignment operator
597 nor the comma operator in an if-expression.
599 2000-05-15 Paul Eggert <eggert@twinsun.com>
602 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
603 Remove; no longer needed.
604 "quotearg.h": Add include.
605 (file_name): Do not bother to explicitly initialize to NULL; it's less
606 efficient on some hosts.
607 (close_stdout_status): Remove test as to whether stdout was already
608 closed; it breaks for the case "echo x | sort >&-".
609 Quote file name colons.
610 Do not assume that _("write error") lacks format strings.
612 2000-05-15 Jim Meyering <meyering@lucent.com>
614 * version-etc.c (version_etc_copyright): Update the copyright string
615 used in all --version output.
617 2000-05-14 Jim Meyering <meyering@lucent.com>
619 * closeout.c (close_stdout_set_file_name): New function.
620 (close_stdout_status): Use new file-scoped global.
621 Return right away if fstat says the stdout file descriptor is invalid.
622 * closeout.h (close_stdout_set_file_name): Declare.
624 2000-05-10 Jim Meyering <meyering@lucent.com>
626 * closeout.c [default_exit_status]: New file-scoped variable.
627 (close_stdout_set_status): New function.
628 * closeout.h (close_stdout_set_status): Declare.
630 2000-05-08 Jim Meyering <meyering@lucent.com>
632 * long-options.c: Don't include closeout.h.
633 (parse_long_options): Don't call close_stdout for --version.
635 2000-05-06 Jim Meyering <meyering@lucent.com>
637 * strnlen.c: Undefine __strnlen and strnlen.
638 [!weak_alias]: Define __strnlen to strnlen.
640 * atexit.c: New file, from libiberty.
642 2000-05-06 Jim Meyering <meyering@lucent.com>
644 * closeout.c (close_stdout_status): Also check for errors on the
647 2000-05-05 Bruno Haible <haible@clisp.cons.org>
649 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
650 instead of xmalloc, xrealloc, path_concat.
651 (locale_charset): Treat empty environment variables as absent.
652 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
654 2000-05-04 Jim Meyering <meyering@lucent.com>
656 * getopt.c: Update from glibc.
657 * obstack.c: Likewise.
658 * obstack.h: Likewise.
659 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
662 * strndup.c: Likewise.
663 * strnlen.c: New file, from glibc.
665 2000-05-01 Jim Meyering <meyering@lucent.com>
667 * full-write.c (full_write): Remove `FIXME' part of comment.
669 2000-04-29 Jim Meyering <meyering@lucent.com>
671 * path-concat.c: Declare strdup only if it's not defined.
672 * canon-host.c: Likewise.
674 2000-04-28 Jim Meyering <meyering@lucent.com>
676 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
677 redefinition warning on some systems (HPUX). Otherwise, regex.h is
678 included first, then limits.h is included by locale.h by libintl.h.
679 From John David Anglin.
681 2000-04-25 Jim Meyering <meyering@lucent.com>
683 * makepath.c (S_IRWXUGO): Define.
684 (make_path): Always perform explicit chmod if MODE specifies any
685 of the `special' permission bits. Prompted by a bug report against
686 install from Mate Wierdl and Joost van Baal.
688 2000-04-18 Jim Meyering <meyering@lucent.com>
692 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
693 getpagesize. For BeOS. Based on a patch from Bruno Haible.
695 2000-04-17 Jim Meyering <meyering@lucent.com>
697 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
698 the definition of it to rpl_strftime also defined-away the system's
701 2000-04-15 Jim Meyering <meyering@lucent.com>
703 Use `C' to denote so-called `contiguous' files, the same way
705 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
706 (ftypelet): Use S_ISCTG.
707 From Michael Deutschmann.
709 2000-04-14 Jim Meyering <meyering@lucent.com>
711 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
713 2000-04-08 Jim Meyering <meyering@lucent.com>
715 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
716 names don't conflict. Reported by Eli Zaretskii.
718 2000-03-28 Bruno Haible <haible@clisp.cons.org>
720 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
721 bug. Deal with the different error behavior of Irix iconv.
723 2000-04-07 Jim Meyering <meyering@lucent.com>
725 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
726 to work around system header problems on AIX 3.2.5. From Bruno Haible.
728 2000-04-05 Jim Meyering <meyering@lucent.com>
730 Portability tweaks required for ultrix4.3.
731 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
732 * readutmp.c: Include sys/types.h before sys/stat.h.
733 * canon-host.c: Declare strdup.
734 * path-concat.c: Likewise.
735 From John David Anglin.
737 2000-04-04 Jim Meyering <meyering@lucent.com>
739 Be more DOS 8.3-friendly.
740 * ref-add.sin: Renamed from ref-add.sed.in.
741 * ref-del.sin: Renamed from ref-del.sed.in.
742 * Makefile.am: Reflect renaming.
743 Reported by Eli Zaretskii.
745 Use a temporary file name that won't clash with `charset.alias'
746 in the DOS 8.3 name space.
747 * Makefile.am (charset_tmp): Define.
748 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
749 (uninstall-local): Likewise.
750 Reported by Eli Zaretskii.
752 2000-03-29 Paul Eggert <eggert@twinsun.com>
754 * time/strftime.c (my_strftime): Make sure we call the system
755 strftime, not ourselves, when invoking the underlying strftime.
757 2000-03-24 Jim Meyering <meyering@lucent.com>
759 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
760 (charset_alias): Define.
761 (install-exec-local): Factor out common code.
762 (uninstall-local): Split lines longer than 80.
763 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
765 (.sed.in.sed): New rule. Don't redirect directly to $@.
766 (CLEANFILES): Add ref-add.sed and ref-del.sed.
768 2000-03-19 Bruno Haible <haible@clisp.cons.org>
770 * config.charset: Output a line containing "Packages using this file".
771 * ref-add.sed.in, ref-del.sed.in: New files.
772 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
773 ref-del.sed): New rules.
775 2000-03-17 Jim Meyering <meyering@lucent.com>
777 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
778 Otherwise, include <strings.h>
780 2000-03-17 Bruno Haible <haible@clisp.cons.org>
782 * unicodeio.c (utf8_wctomb): New function.
783 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
784 format instead of in UCS-4 with platform dependent endianness.
786 2000-03-07 Paul Eggert <eggert@twinsun.com>
788 * savedir.c (savedir): Work even if directory size is
789 negative; this can happen with some screwy NFS configurations.
791 2000-03-06 Jim Meyering <meyering@lucent.com>
793 * localcharset.c (get_charset_aliases): Don't try to free file_name
794 if it's NULL (because we ran out of memory). From Bruno Haible.
796 2000-03-05 Jim Meyering <meyering@lucent.com>
798 * localcharset.c ("path-concat.h"): Include.
799 (get_charset_aliases): Use path_concat instead of ANSI string
802 * unicodeio.h (PARAMS): Define.
803 Use it to guard prototype.
805 2000-03-04 Jim Meyering <meyering@lucent.com>
807 * Makefile.am (install-exec-local): Create $(libdir) before installing
809 (uninstall-local): Uncomment this rule so `make distcheck' works
812 * unicodeio.c (<errno.h>): Include it.
813 (errno): Declare if not defined.
815 * localcharset.c: Add Bruno's comment justifying use of volatile.
817 * config.charset: New version, incorporating remarks from a linux
818 i18n mailing list. From Bruno Haible.
820 2000-03-02 Jim Meyering <meyering@lucent.com>
822 * Makefile.am (EXTRA_DIST): Add config.charset.
824 2000-03-01 Jim Meyering <meyering@lucent.com>
826 * localcharset.c: Guard some #includes with `#if HAVE_...'.
827 * unicodeio.c: Likewise.
829 2000-02-02 Bruno Haible <haible@clisp.cons.org>
831 * config.charset: New file.
832 * localcharset.c: New file.
833 * unicodeio.h, unicodeio.c: New files.
834 * Makefile.am (DEFS): Add -DLIBDIR=...
835 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
836 (noinst_HEADERS): Add unicodeio.h.
837 (all-local, install-exec-local, charset.alias): New targets.
839 2000-02-28 Paul Eggert <eggert@twinsun.com>
841 * quotearg.c (ALERT_CHAR): New macro.
842 (quotearg_buffer_restyled): Use it.
844 2000-02-27 Jim Meyering <meyering@lucent.com>
846 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
847 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
849 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
850 not `#if STDC_HEADERS'.
851 Declare malloc if needed.
853 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
854 now that autoconf always defines the HAVE_DECL_ symbols.
857 * strtoumax.c: Likewise.
859 * backupfile.c: Arrange for cpp to fail if the configure-time
860 declaration check was not run.
864 * strtoumax.c: Likewise.
866 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
867 then first look up the entire `.'-containing string as a login name.
869 2000-02-18 Paul Eggert <eggert@twinsun.com>
871 * getdate.y: Handle two-digit years with leading zeros correctly.
872 (textint): New typedef.
873 (parser_control): Member year changed from int to textint.
875 (YYSTYPE): Removed; replaced by %union with int and textint members.
876 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
877 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
878 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
879 (tSNUMBER, tUNUMBER): Now of type <textintval>.
880 (date, number, to_year): Use width of number in digits, not its value,
881 to determine whether it's a 2-digit year, or a 2-digit time.
882 (yylex): Store number of digits of numeric tokens.
883 Reported by John Kendall.
885 (parser_control): Changed from struct parser_control to typedef (for
886 consistency). All uses changed.
888 (tID): Removed; not used.
889 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
891 2000-02-14 Paul Eggert <eggert@twinsun.com>
893 * getpagesize.h (getpagesize): Port to VMS for Alpha;
894 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
896 2000-02-12 Jim Meyering <meyering@lucent.com>
898 * userspec.c (ISDIGIT): Define it.
899 (isdigit): Remove definition.
900 (is_number): Use ISDIGIT, not isdigit.
901 <libintl.h>: Include.
903 (parse_user_spec): Mark translatable strings.
905 2000-02-10 Jim Meyering <meyering@lucent.com>
907 With these changes, nanosleep.[ch] are finally enough like the other
908 lib/* replacement files to compile on a few more losing systems.
910 * nanosleep.h: Don't include config.h.
911 Remove prototype from declaration of nanosleep.
912 (PARAMS): Remove now-unneeded definition.
913 * nanosleep.c: #undef nanosleep.
914 (rpl_nanosleep): Rename from nanosleep.
916 2000-02-03 Jim Meyering <meyering@lucent.com>
918 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
919 rather than with `#if HAVE_UTMPNAME'.
921 2000-02-01 Jim Meyering <meyering@lucent.com>
923 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
925 2000-01-31 Jim Meyering <meyering@lucent.com>
927 * nanosleep.h (nanosleep): Guard declaration with
928 `#if ! HAVE_DECL_NANOSLEEP'.
929 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
930 the declaration in that vendor's sys/timers.h.
931 Reported by Christian Krackowizer.
933 * quotearg.c (ISASCII): Add #undef and move definition to follow
934 inclusion of wctype.h to work around solaris2.6 namespace pollution.
936 Reported by Tom Tromey.
938 2000-01-30 Jim Meyering <meyering@lucent.com>
940 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
941 uses of ->ut_name. The latter doesn't work with new Linux header files
942 where only utmpx.ut_user is declared.
944 * readutmp.h (UT_USER): Define.
946 2000-01-23 Jim Meyering <meyering@lucent.com>
948 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
951 2000-01-22 Jim Meyering <meyering@lucent.com>
953 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
954 [! HAVE_DECL_STRTOULL]: Declare strtoull.
955 Required for some AIX systems. Reported by Christian Krackowizer.
956 [TESTING] (main): New function.
958 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
959 * dirname.c (dir_name): Support for DOS-style file names with drive
962 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
964 * strverscmp.c (ISDIGIT): Define.
965 (strverscmp): Use ISDIGIT, not isdigit.
967 2000-01-17 Paul Eggert <eggert@twinsun.com>
969 * nanosleep.c (nanosleep):
970 Don't use SA_INTERRUPT to decide whether to call sigaction, as
971 POSIX.1 doesn't require SA_INTERRUPT and some systems
972 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
973 it's been part of POSIX.1 since day 1 (in 1988).
975 2000-01-17 Jim Meyering <meyering@lucent.com>
977 * interlock: Remove unused file. Reported by François Pinard.
979 2000-01-16 Paul Eggert <eggert@twinsun.com>
981 * quotearg.c (quotearg_buffer_restyled): Do not quote
982 alert, backslash, formfeed, and vertical tab unnecessarily in
986 version-control: never