1 2000-10-29 Jim Meyering <meyering@lucent.com>
3 * xstat.in: Fix grammar in comment.
5 2000-10-28 Jim Meyering <meyering@lucent.com>
7 * memchr.c: Update from libc.
8 Adjust for portability:
9 [HAVE_STDLIB_H]: Include stdlib.h.
10 [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
12 [!weak_alias]: Define __memchr to memchr.
14 * regex.c: Update from libc.
16 * getopt1.c: Likewise.
19 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseek0.
20 Patch by Ulrich Drepper.
22 2000-10-26 Jim Meyering <meyering@lucent.com>
24 * strftime.c: Update from libc.
26 2000-10-25 Jim Meyering <meyering@lucent.com>
28 * obstack.c: Update from libc.
30 2000-10-23 Jim Meyering <meyering@lucent.com>
32 * hard-locale.c (hard_locale): Revert last change -- it was simply
33 wrong. That set_locale call must not have any side effects.
36 2000-10-22 Jim Meyering <meyering@lucent.com>
38 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
39 [CYCLIC]: Remove now-unused definition.
41 * save-cwd.c (O_DIRECTORY): Define, if needed.
42 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
43 Suggestion from Ulrich Drepper.
45 2000-10-21 Jim Meyering <meyering@lucent.com>
47 * dirname.c (dir_name_r): New function, factored out of dir_name.
48 (dir_name): Use dir_name_r.
49 * dirname.h (dir_name_r): Declare it.
51 2000-10-21 Jim Meyering <meyering@lucent.com>
53 * dirname.c (memrchr): Declare if necessary.
54 (dir_name): Remove the restriction that there be no
55 trailing slashes. Now, this code skips past them, effectively
57 [TEST_DIRNAME] (main): New unit tests.
59 * memrchr.c: New file from GNU libc.
61 [!weak_alias]: Define __memrchr to memrchr.
62 Guard weak_alias use with `#ifdef weak_alias'.
64 2000-10-17 Jim Meyering <meyering@lucent.com>
66 * quote.h (PARAMS): Define and use.
67 Reported by Akim Demaille.
69 * getopt.c: Update from libc.
71 2000-10-16 Jim Meyering <meyering@lucent.com>
73 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
76 2000-09-25 Jim Meyering <meyering@lucent.com>
78 * md5.h (rol): Define (from GnuPG).
80 * sha.c: Give credit (GnuPG) where due.
81 (M): Use rol rather than open-coding it.
84 2000-09-21 Jim Meyering <meyering@lucent.com>
86 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
87 Reported by Michael Stone.
89 2000-09-20 Jim Meyering <meyering@lucent.com>
91 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
92 (noinst_HEADERS): Add sha.h.
93 Based on code from Scott G. Miller and from GnuPG.
95 2000-09-15 Jim Meyering <meyering@lucent.com>
97 * regex.c: Update from libc.
99 2000-09-10 Jim Meyering <meyering@lucent.com>
101 * getopt.c (_getopt_internal): Update from glibc.
103 2000-09-09 Jim Meyering <meyering@lucent.com>
105 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
106 think it should be used as a general replacement for isascii.
107 * fnmatch.c: Likewise.
108 * mbswidth.c: Likewise
112 * userspec.c: Include sys/param.h and limits.h.
114 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
115 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
116 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
117 UID, GID. Check range.
119 2000-09-06 Jim Meyering <meyering@lucent.com>
121 * getopt.c (_getopt_internal): Update from glibc.
123 2000-08-30 Jim Meyering <meyering@lucent.com>
125 * strftime.c: Merge in changes from GNU libc.
127 2000-08-26 Jim Meyering <meyering@lucent.com>
129 * closeout.c: Include "__fpending.h".
130 (close_stdout_status): Return right away if there's nothing to flush.
132 * Makefile.am (noinst_HEADERS): Add __fpending.h.
133 * __fpending.c: New file.
134 * __fpending.h: New file.
136 2000-08-07 Paul Eggert <eggert@twinsun.com>
138 Standardize on "memory exhausted" instead of "Memory exhausted"
139 or "virtual memory exhausted".
140 * obstack.c (print_and_abort): Use "memory exhausted", not
141 "virtual memory exhausted".
142 * same.c (same_name): Invoke xalloc_die instead of printing
144 * userspec.c (parse_user_spec): Likewise.
145 * bumpalloc.h: comment fix
146 * same.c, userspec.c: Include xalloc.h.
148 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
149 not char *const and pointing to a constant array.
150 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
151 (xrealloc): Comment fix.
153 * userspec.c (parse_user_spec):
154 Don't translate a message until just before returning,
155 to avoid unnecessary translation.
157 2000-08-07 Jim Meyering <meyering@lucent.com>
159 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
160 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
161 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
162 getgroups.c, gethostname.c, getopt.h, group-member.c,
163 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
164 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
165 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
166 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
167 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
168 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
169 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
170 yesno.c: Back out Copyright date changes for each file with no change
171 this year. This eases coordination with other programs using the same
172 source code modules. From Paul Eggert.
174 2000-08-03 Greg McGary <greg@mcgary.org>
176 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
177 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
178 (EXTEND_BUFFER): Use them.
180 2000-08-01 Jim Meyering <meyering@lucent.com>
182 * dirname.c (ISSLASH): Define.
183 (BACKSLASH_IS_PATH_SEPARATOR): Define.
184 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
185 both `\' and `/' may be use as path separators.
186 Based on a patch from Prashant TR.
188 2000-07-31 Paul Eggert <eggert@twinsun.com>
190 * quotearg.c (quotearg_n_options): Don't make the initial
191 slot vector a constant, since it might get modified.
193 2000-07-31 Jim Meyering <meyering@lucent.com>
195 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
196 * obstack.c (print_and_abort): Likewise.
198 2000-07-30 Paul Eggert <eggert@twinsun.com>
200 * quotearg.c (quotearg_n_options): Preallocate a slot 0
201 buffer, so that the caller can always quote one small
202 component of a "memory exhausted" message in slot 0.
203 From a suggestion by Jim Meyering.
205 2000-07-30 Jim Meyering <meyering@lucent.com>
207 * makepath.c (make_path): Quote the other instance, too.
209 * quotearg.c (N_STATIC_SLOTVECS): Define.
210 (STATIC_BUF_SIZE): Define.
211 (quotearg_n_options): Use only statically allocated storage when
212 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
213 than STATIC_BUF_SIZE.
215 2000-07-29 Jim Meyering <meyering@lucent.com>
217 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
218 * dirname.c (dir_name): Likewise.
220 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
222 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
223 (dir_name): Assert that there are no trailing slashes.
225 2000-07-18 Bruno Haible <haible@clisp.cons.org>
227 * mbswidth.h (mbswidth): Add a flags argument.
228 (mbswidth): New declaration.
229 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
230 * mbswidth.c (mbswidth): Add a flags argument.
231 (mbsnwidth): New function.
233 2000-07-24 Jim Meyering <meyering@lucent.com>
235 * mbswidth.c: Remove useless #else. From Bruno Haible.
237 2000-07-23 Paul Eggert <eggert@twinsun.com>
239 * mbswidth.c (_XOPEN_SOURCE):
240 Don't define; this causes problems on Solaris 7.
241 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
243 2000-07-23 Paul Eggert <eggert@twinsun.com>
246 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
247 so that mbstate_t is always defined.
249 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
250 be 1 in at least one GCC installation, and this configuration
251 error is likely to be common. Ignoring MB_LEN_MAX hurts
252 performance on hosts that have mbrtowc but have only unibyte
253 locales, but I assume these hosts are rare.
255 2000-07-23 Paul Eggert <eggert@twinsun.com>
257 * quotearg.c: Streamline by invoking multibyte code only if needed.
258 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
259 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
260 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
261 invoke multibyte primitives.
263 2000-07-23 Jim Meyering <meyering@lucent.com>
265 * basename.c (base_name): Add an assertion.
267 2000-07-15 Bruno Haible <clisp.cons.org>
269 * quotearg.c: When the system forces us to redefine mbstate_t,
270 shadow its mbsinit function.
272 2000-07-16 Bruno Haible <haible@clisp.cons.org>
274 * mbswidth.h: New file.
275 * mbswidth.c: New file.
276 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
277 (noinst_HEADERS): Add mbswidth.h.
279 2000-07-17 Bruno Haible <haible@clisp.cons.org>
281 * config.charset: Add support for FreeBSD. Improve support for HP-UX
284 2000-07-15 Jim Meyering <meyering@lucent.com>
286 * makepath.c: Include quote.h.
287 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
288 corresponding argument in a `quote (...)' call.
289 Give better diagnostics.
291 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
292 (noinst_HEADERS): Add quote.h.
294 * quote.c (quote, quote_n): New file. Two functions taken verbatim
295 from tar's src/misc.c.
296 * quote.h: New file. Prototypes for same.
298 2000-07-10 Paul Eggert <eggert@twinsun.com>
300 From a suggestion by Bruno Haible.
301 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
302 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
303 to decide whether to define the BeOS workaround macro;
304 this adjusts to the change to AC_MBSTATE_T.
306 2000-07-13 Paul Eggert <eggert@twinsun.com>
308 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
310 * quotearg.c: (quoting_style_args, quoting_style_vals,
311 quotearg_buffer_restyled): Add support for
312 clocale_quoting_style. Undo previous change to
313 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
314 and "{RIGHT QUOTATION MARK}" msgids.
316 2000-07-05 Paul Eggert <eggert@twinsun.com>
318 The old behavior of quoting `like this' doesn't look good with
319 newer, ISO-style fonts. See:
320 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
322 Instead, quote "like this" by default. Let the translator
323 tailor the locale-specific quoting behavior by providing
324 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
326 * quotearg.c (N_): New macro.
327 (gettext_default): New function.
328 (quotearg_buffer_restyled): Use
329 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
330 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
332 2000-07-09 Jim Meyering <meyering@lucent.com>
334 * Most files: Update copyright dates to include 2000.
336 2000-07-08 Jim Meyering <meyering@lucent.com>
338 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
340 (xgethostname): Remove now-unnecessary #ifdef.
341 Move declaration of `err' into loop where it's used.
343 2000-07-05 Bruno Haible <haible@clisp.cons.org>
345 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
346 by allocating a larger buffer. Test the gethostname return value for
347 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
348 returns an error and ENAMETOOLONG isn't defined.
350 2000-07-05 Paul Eggert <eggert@twinsun.com>
351 and Bruno Haible <haible@clisp.cons.org>
353 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
355 2000-07-05 Bruno Haible <haible@clisp.cons.org>
357 * quotearg.c (struct quoting_options): Simplify quote_these_too
360 2000-07-03 Jim Meyering <meyering@lucent.com>
362 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
363 Reported by Bruno Haible.
365 2000-07-04 Jim Meyering <meyering@lucent.com>
367 * quotearg.c: Make inclusion of <wchar.h> independent of whether
368 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
371 2000-07-03 Paul Eggert <eggert@twinsun.com>
372 and Bruno Haible <haible@clisp.cons.org>
374 * quotearg.c (mbrtowc):
375 Assign to *pwc, and return 1 only if result is nonzero.
376 (iswprint): Use ISPRINT when substituting our own mbrtowc.
378 2000-07-03 Jim Meyering <meyering@lucent.com>
380 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
381 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
384 2000-07-02 Jim Meyering <meyering@lucent.com>
386 * quotearg.c (mbstate_t): Don't define here.
388 2000-07-02 Jim Meyering <meyering@lucent.com>
390 * nanosleep.c (SIGCONT): Define if not already defined.
392 2000-06-17 Bruno Haible <haible@clisp.cons.org>
394 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
395 per change in ../m4/ls-mntd-fs.m4.
396 (read_filesystem_list): Ignore symbolic links.
398 2000-06-29 Jim Meyering <meyering@lucent.com>
400 * same.c: Include <string.h> or <strings.h>, as appropriate,
401 for declaration of strcmp.
403 * long-options.c: Include <stdlib.h>, for declaration of exit.
405 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
406 Avoid warning by casting result to `char *' to remove `const'.
408 2000-06-17 Bruno Haible <haible@clisp.cons.org>
410 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
412 2000-06-26 Paul Eggert <eggert@twinsun.com>
414 savedir now sets errno on failure and invokes xmalloc to get memory.
415 Fix a couple of other minor bugs while we're at it.
417 * savedir.c (<unistd.h>): Do not include; there's no need.
418 (NAMLEN): Remove macro.
419 (malloc, realloc): Remove decls.
421 ("xalloc.h"): Include.
422 (NAME_SIZE_DEFAULT): New macro.
423 (savedir): Use xmalloc / xrealloc to allocate memory.
424 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
425 Skip "" directory entries.
426 Use strlen to calculate directory entry length, since the old method
427 is rarely used these days and isn't worth supporting.
428 Don't use a pointer after freeing it.
429 Check for integer overflow when calculating allocation size.
430 Use memcpy to copy entries, instead of stpcpy.
431 Set errno properly when returning NULL.
432 Check for readdir error.
434 2000-06-26 Jim Meyering <meyering@lucent.com>
436 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
438 2000-06-17 Bruno Haible <haible@clisp.cons.org>
440 * getusershell.c (xmalloc, xrealloc): Remove functions.
442 Don't include <stdlib.h>. Don't declare malloc, realloc.
444 2000-06-23 Bruno Haible <haible@clisp.cons.org>
446 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
448 2000-06-24 Jim Meyering <meyering@lucent.com>
450 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
452 2000-06-21 Jim Meyering <meyering@lucent.com>
454 * getpass.c: New file, from Bruno Haible. Required for BeOS.
456 2000-06-19 Paul Eggert <eggert@twinsun.com>
458 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
459 (mbrtowc, mbstate_t): Define substitutes if
460 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
461 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
462 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
464 2000-06-17 Bruno Haible <haible@clisp.cons.org>
466 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
467 than 1024, return a memory chunk of least possible size, instead
468 of size PATH_MAX + 2. In the loop, increment the size proportionally.
469 Use free/xmalloc instead of xrealloc to avoid copying for very long
472 2000-06-17 Bruno Haible <haible@clisp.cons.org>
474 * canon-host.c (canon_host): Use malloc and memcpy to copy an
475 address, not strdup. Include <stdlib.h> and don't declare free().
477 2000-06-17 Bruno Haible <haible@clisp.cons.org>
479 * path-concat.c (path_concat): Don't access dir[-1] if dir is
482 2000-06-21 Jim Meyering <meyering@lucent.com>
484 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
485 (noinst_HEADERS): Add getstr.h.
487 * getline.c (getstr): Move into a separate file.
488 * getstr.c (getstr): New file, extracted from getline.c, with
489 the following changes: new parameter, delim2; both delim[12]
490 parameters have type `int', not `char'. The latter would lose
491 with 8-bit delimiters.
492 * getstr.h: New file.
494 2000-06-19 Jim Meyering <meyering@lucent.com>
496 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
498 2000-06-18 Jim Meyering <meyering@lucent.com>
500 * mkdir.c: Remove file, due mainly to copyright incompatibility.
501 Besides, these days every porting target provides a mkdir function.
503 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
504 (this snippet comes from src/system.h).
506 2000-06-15 Paul Eggert <eggert@twinsun.com>
508 * human.c (adjust_value): New function.
509 (human_readable_inexact): Apply rounding style even when
510 printing approximate values.
512 2000-06-14 Paul Eggert <eggert@twinsun.com>
514 * human.c (human_readable_inexact): Allow an input block
515 size that is not a multiple of the output block size, and vice versa.
516 Reported by Piergiorgio Sartor.
518 2000-06-14 Paul Eggert <eggert@twinsun.com>
520 * getdate.y (get_date): Apply relative times after time
521 zone indicator, not before. Reported by Todd A. Jacobs.
523 2000-06-13 Jim Meyering <meyering@lucent.com>
525 * Makefile.am (all-local): Depend on lstat.c and stat.c.
527 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
529 2000-06-12 Paul Eggert <eggert@twinsun.com>
531 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
533 2000-06-04 Paul Eggert <eggert@twinsun.com>
535 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
537 2000-06-04 Jim Meyering <meyering@lucent.com>
539 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
540 SunOS4.1.4 for which gid_t is an unsigned type.
542 2000-06-03 Jim Meyering <meyering@lucent.com>
544 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
546 2000-05-26 Bruno Haible <haible@clisp.cons.org>
548 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
549 newer, don't install charset.alias.
550 * config.charset: Change the Linux/glibc rules so they become empty
551 on glibc-2.1 or newer.
553 2000-06-02 Jim Meyering <meyering@lucent.com>
555 * mountlist.c: Back out last change. Instead, do this...
556 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
557 member using the same `ignore'-testing code.
558 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
562 2000-05-29 Jim Meyering <meyering@lucent.com>
564 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
565 with the `ignore' attribute. Based on a patch from Mark D. Roth.
567 2000-05-22 Jim Meyering <meyering@lucent.com>
569 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
571 2000-05-18 Jim Meyering <meyering@lucent.com>
573 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
574 back, too, since it may have been modified by allocate_entry.
575 (hash_delete): Rewrite to use neither the assignment operator
576 nor the comma operator in an if-expression.
578 2000-05-15 Paul Eggert <eggert@twinsun.com>
581 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
582 Remove; no longer needed.
583 "quotearg.h": Add include.
584 (file_name): Do not bother to explicitly initialize to NULL; it's less
585 efficient on some hosts.
586 (close_stdout_status): Remove test as to whether stdout was already
587 closed; it breaks for the case "echo x | sort >&-".
588 Quote file name colons.
589 Do not assume that _("write error") lacks format strings.
591 2000-05-15 Jim Meyering <meyering@lucent.com>
593 * version-etc.c (version_etc_copyright): Update the copyright string
594 used in all --version output.
596 2000-05-14 Jim Meyering <meyering@lucent.com>
598 * closeout.c (close_stdout_set_file_name): New function.
599 (close_stdout_status): Use new file-scoped global.
600 Return right away if fstat says the stdout file descriptor is invalid.
601 * closeout.h (close_stdout_set_file_name): Declare.
603 2000-05-10 Jim Meyering <meyering@lucent.com>
605 * closeout.c [default_exit_status]: New file-scoped variable.
606 (close_stdout_set_status): New function.
607 * closeout.h (close_stdout_set_status): Declare.
609 2000-05-08 Jim Meyering <meyering@lucent.com>
611 * long-options.c: Don't include closeout.h.
612 (parse_long_options): Don't call close_stdout for --version.
614 2000-05-06 Jim Meyering <meyering@lucent.com>
616 * strnlen.c: Undefine __strnlen and strnlen.
617 [!weak_alias]: Define __strnlen to strnlen.
619 * atexit.c: New file, from libiberty.
621 2000-05-06 Jim Meyering <meyering@lucent.com>
623 * closeout.c (close_stdout_status): Also check for errors on the
626 2000-05-05 Bruno Haible <haible@clisp.cons.org>
628 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
629 instead of xmalloc, xrealloc, path_concat.
630 (locale_charset): Treat empty environment variables as absent.
631 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
633 2000-05-04 Jim Meyering <meyering@lucent.com>
635 * getopt.c: Update from glibc.
636 * obstack.c: Likewise.
637 * obstack.h: Likewise.
638 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
641 * strndup.c: Likewise.
642 * strnlen.c: New file, from glibc.
644 2000-05-01 Jim Meyering <meyering@lucent.com>
646 * full-write.c (full_write): Remove `FIXME' part of comment.
648 2000-04-29 Jim Meyering <meyering@lucent.com>
650 * path-concat.c: Declare strdup only if it's not defined.
651 * canon-host.c: Likewise.
653 2000-04-28 Jim Meyering <meyering@lucent.com>
655 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
656 redefinition warning on some systems (HPUX). Otherwise, regex.h is
657 included first, then limits.h is included by locale.h by libintl.h.
658 From John David Anglin.
660 2000-04-25 Jim Meyering <meyering@lucent.com>
662 * makepath.c (S_IRWXUGO): Define.
663 (make_path): Always perform explicit chmod if MODE specifies any
664 of the `special' permission bits. Prompted by a bug report against
665 install from Mate Wierdl and Joost van Baal.
667 2000-04-18 Jim Meyering <meyering@lucent.com>
671 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
672 getpagesize. For BeOS. Based on a patch from Bruno Haible.
674 2000-04-17 Jim Meyering <meyering@lucent.com>
676 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
677 the definition of it to rpl_strftime also defined-away the system's
680 2000-04-15 Jim Meyering <meyering@lucent.com>
682 Use `C' to denote so-called `contiguous' files, the same way
684 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
685 (ftypelet): Use S_ISCTG.
686 From Michael Deutschmann.
688 2000-04-14 Jim Meyering <meyering@lucent.com>
690 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
692 2000-04-08 Jim Meyering <meyering@lucent.com>
694 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
695 names don't conflict. Reported by Eli Zaretskii.
697 2000-03-28 Bruno Haible <haible@clisp.cons.org>
699 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
700 bug. Deal with the different error behavior of Irix iconv.
702 2000-04-07 Jim Meyering <meyering@lucent.com>
704 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
705 to work around system header problems on AIX 3.2.5. From Bruno Haible.
707 2000-04-05 Jim Meyering <meyering@lucent.com>
709 Portability tweaks required for ultrix4.3.
710 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
711 * readutmp.c: Include sys/types.h before sys/stat.h.
712 * canon-host.c: Declare strdup.
713 * path-concat.c: Likewise.
714 From John David Anglin.
716 2000-04-04 Jim Meyering <meyering@lucent.com>
718 Be more DOS 8.3-friendly.
719 * ref-add.sin: Renamed from ref-add.sed.in.
720 * ref-del.sin: Renamed from ref-del.sed.in.
721 * Makefile.am: Reflect renaming.
722 Reported by Eli Zaretskii.
724 Use a temporary file name that won't clash with `charset.alias'
725 in the DOS 8.3 name space.
726 * Makefile.am (charset_tmp): Define.
727 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
728 (uninstall-local): Likewise.
729 Reported by Eli Zaretskii.
731 2000-03-29 Paul Eggert <eggert@twinsun.com>
733 * time/strftime.c (my_strftime): Make sure we call the system
734 strftime, not ourselves, when invoking the underlying strftime.
736 2000-03-24 Jim Meyering <meyering@lucent.com>
738 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
739 (charset_alias): Define.
740 (install-exec-local): Factor out common code.
741 (uninstall-local): Split lines longer than 80.
742 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
744 (.sed.in.sed): New rule. Don't redirect directly to $@.
745 (CLEANFILES): Add ref-add.sed and ref-del.sed.
747 2000-03-19 Bruno Haible <haible@clisp.cons.org>
749 * config.charset: Output a line containing "Packages using this file".
750 * ref-add.sed.in, ref-del.sed.in: New files.
751 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
752 ref-del.sed): New rules.
754 2000-03-17 Jim Meyering <meyering@lucent.com>
756 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
757 Otherwise, include <strings.h>
759 2000-03-17 Bruno Haible <haible@clisp.cons.org>
761 * unicodeio.c (utf8_wctomb): New function.
762 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
763 format instead of in UCS-4 with platform dependent endianness.
765 2000-03-07 Paul Eggert <eggert@twinsun.com>
767 * savedir.c (savedir): Work even if directory size is
768 negative; this can happen with some screwy NFS configurations.
770 2000-03-06 Jim Meyering <meyering@lucent.com>
772 * localcharset.c (get_charset_aliases): Don't try to free file_name
773 if it's NULL (because we ran out of memory). From Bruno Haible.
775 2000-03-05 Jim Meyering <meyering@lucent.com>
777 * localcharset.c ("path-concat.h"): Include.
778 (get_charset_aliases): Use path_concat instead of ANSI string
781 * unicodeio.h (PARAMS): Define.
782 Use it to guard prototype.
784 2000-03-04 Jim Meyering <meyering@lucent.com>
786 * Makefile.am (install-exec-local): Create $(libdir) before installing
788 (uninstall-local): Uncomment this rule so `make distcheck' works
791 * unicodeio.c (<errno.h>): Include it.
792 (errno): Declare if not defined.
794 * localcharset.c: Add Bruno's comment justifying use of volatile.
796 * config.charset: New version, incorporating remarks from a linux
797 i18n mailing list. From Bruno Haible.
799 2000-03-02 Jim Meyering <meyering@lucent.com>
801 * Makefile.am (EXTRA_DIST): Add config.charset.
803 2000-03-01 Jim Meyering <meyering@lucent.com>
805 * localcharset.c: Guard some #includes with `#if HAVE_...'.
806 * unicodeio.c: Likewise.
808 2000-02-02 Bruno Haible <haible@clisp.cons.org>
810 * config.charset: New file.
811 * localcharset.c: New file.
812 * unicodeio.h, unicodeio.c: New files.
813 * Makefile.am (DEFS): Add -DLIBDIR=...
814 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
815 (noinst_HEADERS): Add unicodeio.h.
816 (all-local, install-exec-local, charset.alias): New targets.
818 2000-02-28 Paul Eggert <eggert@twinsun.com>
820 * quotearg.c (ALERT_CHAR): New macro.
821 (quotearg_buffer_restyled): Use it.
823 2000-02-27 Jim Meyering <meyering@lucent.com>
825 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
826 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
828 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
829 not `#if STDC_HEADERS'.
830 Declare malloc if needed.
832 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
833 now that autoconf always defines the HAVE_DECL_ symbols.
836 * strtoumax.c: Likewise.
838 * backupfile.c: Arrange for cpp to fail if the configure-time
839 declaration check was not run.
843 * strtoumax.c: Likewise.
845 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
846 then first look up the entire `.'-containing string as a login name.
848 2000-02-18 Paul Eggert <eggert@twinsun.com>
850 * getdate.y: Handle two-digit years with leading zeros correctly.
851 (textint): New typedef.
852 (parser_control): Member year changed from int to textint.
854 (YYSTYPE): Removed; replaced by %union with int and textint members.
855 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
856 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
857 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
858 (tSNUMBER, tUNUMBER): Now of type <textintval>.
859 (date, number, to_year): Use width of number in digits, not its value,
860 to determine whether it's a 2-digit year, or a 2-digit time.
861 (yylex): Store number of digits of numeric tokens.
862 Reported by John Kendall.
864 (parser_control): Changed from struct parser_control to typedef (for
865 consistency). All uses changed.
867 (tID): Removed; not used.
868 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
870 2000-02-14 Paul Eggert <eggert@twinsun.com>
872 * getpagesize.h (getpagesize): Port to VMS for Alpha;
873 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
875 2000-02-12 Jim Meyering <meyering@lucent.com>
877 * userspec.c (ISDIGIT): Define it.
878 (isdigit): Remove definition.
879 (is_number): Use ISDIGIT, not isdigit.
880 <libintl.h>: Include.
882 (parse_user_spec): Mark translatable strings.
884 2000-02-10 Jim Meyering <meyering@lucent.com>
886 With these changes, nanosleep.[ch] are finally enough like the other
887 lib/* replacement files to compile on a few more losing systems.
889 * nanosleep.h: Don't include config.h.
890 Remove prototype from declaration of nanosleep.
891 (PARAMS): Remove now-unneeded definition.
892 * nanosleep.c: #undef nanosleep.
893 (rpl_nanosleep): Rename from nanosleep.
895 2000-02-03 Jim Meyering <meyering@lucent.com>
897 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
898 rather than with `#if HAVE_UTMPNAME'.
900 2000-02-01 Jim Meyering <meyering@lucent.com>
902 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
904 2000-01-31 Jim Meyering <meyering@lucent.com>
906 * nanosleep.h (nanosleep): Guard declaration with
907 `#if ! HAVE_DECL_NANOSLEEP'.
908 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
909 the declaration in that vendor's sys/timers.h.
910 Reported by Christian Krackowizer.
912 * quotearg.c (ISASCII): Add #undef and move definition to follow
913 inclusion of wctype.h to work around solaris2.6 namespace pollution.
915 Reported by Tom Tromey.
917 2000-01-30 Jim Meyering <meyering@lucent.com>
919 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
920 uses of ->ut_name. The latter doesn't work with new Linux header files
921 where only utmpx.ut_user is declared.
923 * readutmp.h (UT_USER): Define.
925 2000-01-23 Jim Meyering <meyering@lucent.com>
927 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
930 2000-01-22 Jim Meyering <meyering@lucent.com>
932 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
933 [! HAVE_DECL_STRTOULL]: Declare strtoull.
934 Required for some AIX systems. Reported by Christian Krackowizer.
935 [TESTING] (main): New function.
937 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
938 * dirname.c (dir_name): Support for DOS-style file names with drive
941 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
943 * strverscmp.c (ISDIGIT): Define.
944 (strverscmp): Use ISDIGIT, not isdigit.
946 2000-01-17 Paul Eggert <eggert@twinsun.com>
948 * nanosleep.c (nanosleep):
949 Don't use SA_INTERRUPT to decide whether to call sigaction, as
950 POSIX.1 doesn't require SA_INTERRUPT and some systems
951 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
952 it's been part of POSIX.1 since day 1 (in 1988).
954 2000-01-17 Jim Meyering <meyering@lucent.com>
956 * interlock: Remove unused file. Reported by François Pinard.
958 2000-01-16 Paul Eggert <eggert@twinsun.com>
960 * quotearg.c (quotearg_buffer_restyled): Do not quote
961 alert, backslash, formfeed, and vertical tab unnecessarily in
965 version-control: never