1 2000-10-28 Jim Meyering <meyering@lucent.com>
3 * regex.c: Update from libc.
7 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseek0.
8 Patch by Ulrich Drepper.
10 2000-10-26 Jim Meyering <meyering@lucent.com>
12 * strftime.c: Update from libc.
14 2000-10-25 Jim Meyering <meyering@lucent.com>
16 * obstack.c: Update from libc.
18 2000-10-23 Jim Meyering <meyering@lucent.com>
20 * hard-locale.c (hard_locale): Revert last change -- it was simply
21 wrong. That set_locale call must not have any side effects.
24 2000-10-22 Jim Meyering <meyering@lucent.com>
26 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
27 [CYCLIC]: Remove now-unused definition.
29 * save-cwd.c (O_DIRECTORY): Define, if needed.
30 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
31 Suggestion from Ulrich Drepper.
33 2000-10-21 Jim Meyering <meyering@lucent.com>
35 * dirname.c (dir_name_r): New function, factored out of dir_name.
36 (dir_name): Use dir_name_r.
37 * dirname.h (dir_name_r): Declare it.
39 2000-10-21 Jim Meyering <meyering@lucent.com>
41 * dirname.c (memrchr): Declare if necessary.
42 (dir_name): Remove the restriction that there be no
43 trailing slashes. Now, this code skips past them, effectively
45 [TEST_DIRNAME] (main): New unit tests.
47 * memrchr.c: New file from GNU libc.
49 [!weak_alias]: Define __memrchr to memrchr.
50 Guard weak_alias use with `#ifdef weak_alias'.
52 2000-10-17 Jim Meyering <meyering@lucent.com>
54 * quote.h (PARAMS): Define and use.
55 Reported by Akim Demaille.
57 * getopt.c: Update from libc.
59 2000-10-16 Jim Meyering <meyering@lucent.com>
61 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
64 2000-09-25 Jim Meyering <meyering@lucent.com>
66 * md5.h (rol): Define (from GnuPG).
68 * sha.c: Give credit (GnuPG) where due.
69 (M): Use rol rather than open-coding it.
72 2000-09-21 Jim Meyering <meyering@lucent.com>
74 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
75 Reported by Michael Stone.
77 2000-09-20 Jim Meyering <meyering@lucent.com>
79 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
80 (noinst_HEADERS): Add sha.h.
81 Based on code from Scott G. Miller and from GnuPG.
83 2000-09-15 Jim Meyering <meyering@lucent.com>
85 * regex.c: Update from libc.
87 2000-09-10 Jim Meyering <meyering@lucent.com>
89 * getopt.c (_getopt_internal): Update from glibc.
91 2000-09-09 Jim Meyering <meyering@lucent.com>
93 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
94 think it should be used as a general replacement for isascii.
95 * fnmatch.c: Likewise.
96 * mbswidth.c: Likewise
100 * userspec.c: Include sys/param.h and limits.h.
102 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
103 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
104 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
105 UID, GID. Check range.
107 2000-09-06 Jim Meyering <meyering@lucent.com>
109 * getopt.c (_getopt_internal): Update from glibc.
111 2000-08-30 Jim Meyering <meyering@lucent.com>
113 * strftime.c: Merge in changes from GNU libc.
115 2000-08-26 Jim Meyering <meyering@lucent.com>
117 * closeout.c: Include "__fpending.h".
118 (close_stdout_status): Return right away if there's nothing to flush.
120 * Makefile.am (noinst_HEADERS): Add __fpending.h.
121 * __fpending.c: New file.
122 * __fpending.h: New file.
124 2000-08-07 Paul Eggert <eggert@twinsun.com>
126 Standardize on "memory exhausted" instead of "Memory exhausted"
127 or "virtual memory exhausted".
128 * obstack.c (print_and_abort): Use "memory exhausted", not
129 "virtual memory exhausted".
130 * same.c (same_name): Invoke xalloc_die instead of printing
132 * userspec.c (parse_user_spec): Likewise.
133 * bumpalloc.h: comment fix
134 * same.c, userspec.c: Include xalloc.h.
136 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
137 not char *const and pointing to a constant array.
138 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
139 (xrealloc): Comment fix.
141 * userspec.c (parse_user_spec):
142 Don't translate a message until just before returning,
143 to avoid unnecessary translation.
145 2000-08-07 Jim Meyering <meyering@lucent.com>
147 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
148 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
149 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
150 getgroups.c, gethostname.c, getopt.h, group-member.c,
151 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
152 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
153 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
154 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
155 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
156 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
157 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
158 yesno.c: Back out Copyright date changes for each file with no change
159 this year. This eases coordination with other programs using the same
160 source code modules. From Paul Eggert.
162 2000-08-03 Greg McGary <greg@mcgary.org>
164 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
165 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
166 (EXTEND_BUFFER): Use them.
168 2000-08-01 Jim Meyering <meyering@lucent.com>
170 * dirname.c (ISSLASH): Define.
171 (BACKSLASH_IS_PATH_SEPARATOR): Define.
172 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
173 both `\' and `/' may be use as path separators.
174 Based on a patch from Prashant TR.
176 2000-07-31 Paul Eggert <eggert@twinsun.com>
178 * quotearg.c (quotearg_n_options): Don't make the initial
179 slot vector a constant, since it might get modified.
181 2000-07-31 Jim Meyering <meyering@lucent.com>
183 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
184 * obstack.c (print_and_abort): Likewise.
186 2000-07-30 Paul Eggert <eggert@twinsun.com>
188 * quotearg.c (quotearg_n_options): Preallocate a slot 0
189 buffer, so that the caller can always quote one small
190 component of a "memory exhausted" message in slot 0.
191 From a suggestion by Jim Meyering.
193 2000-07-30 Jim Meyering <meyering@lucent.com>
195 * makepath.c (make_path): Quote the other instance, too.
197 * quotearg.c (N_STATIC_SLOTVECS): Define.
198 (STATIC_BUF_SIZE): Define.
199 (quotearg_n_options): Use only statically allocated storage when
200 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
201 than STATIC_BUF_SIZE.
203 2000-07-29 Jim Meyering <meyering@lucent.com>
205 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
206 * dirname.c (dir_name): Likewise.
208 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
210 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
211 (dir_name): Assert that there are no trailing slashes.
213 2000-07-18 Bruno Haible <haible@clisp.cons.org>
215 * mbswidth.h (mbswidth): Add a flags argument.
216 (mbswidth): New declaration.
217 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
218 * mbswidth.c (mbswidth): Add a flags argument.
219 (mbsnwidth): New function.
221 2000-07-24 Jim Meyering <meyering@lucent.com>
223 * mbswidth.c: Remove useless #else. From Bruno Haible.
225 2000-07-23 Paul Eggert <eggert@twinsun.com>
227 * mbswidth.c (_XOPEN_SOURCE):
228 Don't define; this causes problems on Solaris 7.
229 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
231 2000-07-23 Paul Eggert <eggert@twinsun.com>
234 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
235 so that mbstate_t is always defined.
237 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
238 be 1 in at least one GCC installation, and this configuration
239 error is likely to be common. Ignoring MB_LEN_MAX hurts
240 performance on hosts that have mbrtowc but have only unibyte
241 locales, but I assume these hosts are rare.
243 2000-07-23 Paul Eggert <eggert@twinsun.com>
245 * quotearg.c: Streamline by invoking multibyte code only if needed.
246 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
247 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
248 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
249 invoke multibyte primitives.
251 2000-07-23 Jim Meyering <meyering@lucent.com>
253 * basename.c (base_name): Add an assertion.
255 2000-07-15 Bruno Haible <clisp.cons.org>
257 * quotearg.c: When the system forces us to redefine mbstate_t,
258 shadow its mbsinit function.
260 2000-07-16 Bruno Haible <haible@clisp.cons.org>
262 * mbswidth.h: New file.
263 * mbswidth.c: New file.
264 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
265 (noinst_HEADERS): Add mbswidth.h.
267 2000-07-17 Bruno Haible <haible@clisp.cons.org>
269 * config.charset: Add support for FreeBSD. Improve support for HP-UX
272 2000-07-15 Jim Meyering <meyering@lucent.com>
274 * makepath.c: Include quote.h.
275 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
276 corresponding argument in a `quote (...)' call.
277 Give better diagnostics.
279 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
280 (noinst_HEADERS): Add quote.h.
282 * quote.c (quote, quote_n): New file. Two functions taken verbatim
283 from tar's src/misc.c.
284 * quote.h: New file. Prototypes for same.
286 2000-07-10 Paul Eggert <eggert@twinsun.com>
288 From a suggestion by Bruno Haible.
289 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
290 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
291 to decide whether to define the BeOS workaround macro;
292 this adjusts to the change to AC_MBSTATE_T.
294 2000-07-13 Paul Eggert <eggert@twinsun.com>
296 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
298 * quotearg.c: (quoting_style_args, quoting_style_vals,
299 quotearg_buffer_restyled): Add support for
300 clocale_quoting_style. Undo previous change to
301 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
302 and "{RIGHT QUOTATION MARK}" msgids.
304 2000-07-05 Paul Eggert <eggert@twinsun.com>
306 The old behavior of quoting `like this' doesn't look good with
307 newer, ISO-style fonts. See:
308 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
310 Instead, quote "like this" by default. Let the translator
311 tailor the locale-specific quoting behavior by providing
312 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
314 * quotearg.c (N_): New macro.
315 (gettext_default): New function.
316 (quotearg_buffer_restyled): Use
317 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
318 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
320 2000-07-09 Jim Meyering <meyering@lucent.com>
322 * Most files: Update copyright dates to include 2000.
324 2000-07-08 Jim Meyering <meyering@lucent.com>
326 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
328 (xgethostname): Remove now-unnecessary #ifdef.
329 Move declaration of `err' into loop where it's used.
331 2000-07-05 Bruno Haible <haible@clisp.cons.org>
333 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
334 by allocating a larger buffer. Test the gethostname return value for
335 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
336 returns an error and ENAMETOOLONG isn't defined.
338 2000-07-05 Paul Eggert <eggert@twinsun.com>
339 and Bruno Haible <haible@clisp.cons.org>
341 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
343 2000-07-05 Bruno Haible <haible@clisp.cons.org>
345 * quotearg.c (struct quoting_options): Simplify quote_these_too
348 2000-07-03 Jim Meyering <meyering@lucent.com>
350 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
351 Reported by Bruno Haible.
353 2000-07-04 Jim Meyering <meyering@lucent.com>
355 * quotearg.c: Make inclusion of <wchar.h> independent of whether
356 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
359 2000-07-03 Paul Eggert <eggert@twinsun.com>
360 and Bruno Haible <haible@clisp.cons.org>
362 * quotearg.c (mbrtowc):
363 Assign to *pwc, and return 1 only if result is nonzero.
364 (iswprint): Use ISPRINT when substituting our own mbrtowc.
366 2000-07-03 Jim Meyering <meyering@lucent.com>
368 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
369 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
372 2000-07-02 Jim Meyering <meyering@lucent.com>
374 * quotearg.c (mbstate_t): Don't define here.
376 2000-07-02 Jim Meyering <meyering@lucent.com>
378 * nanosleep.c (SIGCONT): Define if not already defined.
380 2000-06-17 Bruno Haible <haible@clisp.cons.org>
382 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
383 per change in ../m4/ls-mntd-fs.m4.
384 (read_filesystem_list): Ignore symbolic links.
386 2000-06-29 Jim Meyering <meyering@lucent.com>
388 * same.c: Include <string.h> or <strings.h>, as appropriate,
389 for declaration of strcmp.
391 * long-options.c: Include <stdlib.h>, for declaration of exit.
393 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
394 Avoid warning by casting result to `char *' to remove `const'.
396 2000-06-17 Bruno Haible <haible@clisp.cons.org>
398 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
400 2000-06-26 Paul Eggert <eggert@twinsun.com>
402 savedir now sets errno on failure and invokes xmalloc to get memory.
403 Fix a couple of other minor bugs while we're at it.
405 * savedir.c (<unistd.h>): Do not include; there's no need.
406 (NAMLEN): Remove macro.
407 (malloc, realloc): Remove decls.
409 ("xalloc.h"): Include.
410 (NAME_SIZE_DEFAULT): New macro.
411 (savedir): Use xmalloc / xrealloc to allocate memory.
412 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
413 Skip "" directory entries.
414 Use strlen to calculate directory entry length, since the old method
415 is rarely used these days and isn't worth supporting.
416 Don't use a pointer after freeing it.
417 Check for integer overflow when calculating allocation size.
418 Use memcpy to copy entries, instead of stpcpy.
419 Set errno properly when returning NULL.
420 Check for readdir error.
422 2000-06-26 Jim Meyering <meyering@lucent.com>
424 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
426 2000-06-17 Bruno Haible <haible@clisp.cons.org>
428 * getusershell.c (xmalloc, xrealloc): Remove functions.
430 Don't include <stdlib.h>. Don't declare malloc, realloc.
432 2000-06-23 Bruno Haible <haible@clisp.cons.org>
434 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
436 2000-06-24 Jim Meyering <meyering@lucent.com>
438 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
440 2000-06-21 Jim Meyering <meyering@lucent.com>
442 * getpass.c: New file, from Bruno Haible. Required for BeOS.
444 2000-06-19 Paul Eggert <eggert@twinsun.com>
446 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
447 (mbrtowc, mbstate_t): Define substitutes if
448 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
449 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
450 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
452 2000-06-17 Bruno Haible <haible@clisp.cons.org>
454 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
455 than 1024, return a memory chunk of least possible size, instead
456 of size PATH_MAX + 2. In the loop, increment the size proportionally.
457 Use free/xmalloc instead of xrealloc to avoid copying for very long
460 2000-06-17 Bruno Haible <haible@clisp.cons.org>
462 * canon-host.c (canon_host): Use malloc and memcpy to copy an
463 address, not strdup. Include <stdlib.h> and don't declare free().
465 2000-06-17 Bruno Haible <haible@clisp.cons.org>
467 * path-concat.c (path_concat): Don't access dir[-1] if dir is
470 2000-06-21 Jim Meyering <meyering@lucent.com>
472 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
473 (noinst_HEADERS): Add getstr.h.
475 * getline.c (getstr): Move into a separate file.
476 * getstr.c (getstr): New file, extracted from getline.c, with
477 the following changes: new parameter, delim2; both delim[12]
478 parameters have type `int', not `char'. The latter would lose
479 with 8-bit delimiters.
480 * getstr.h: New file.
482 2000-06-19 Jim Meyering <meyering@lucent.com>
484 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
486 2000-06-18 Jim Meyering <meyering@lucent.com>
488 * mkdir.c: Remove file, due mainly to copyright incompatibility.
489 Besides, these days every porting target provides a mkdir function.
491 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
492 (this snippet comes from src/system.h).
494 2000-06-15 Paul Eggert <eggert@twinsun.com>
496 * human.c (adjust_value): New function.
497 (human_readable_inexact): Apply rounding style even when
498 printing approximate values.
500 2000-06-14 Paul Eggert <eggert@twinsun.com>
502 * human.c (human_readable_inexact): Allow an input block
503 size that is not a multiple of the output block size, and vice versa.
504 Reported by Piergiorgio Sartor.
506 2000-06-14 Paul Eggert <eggert@twinsun.com>
508 * getdate.y (get_date): Apply relative times after time
509 zone indicator, not before. Reported by Todd A. Jacobs.
511 2000-06-13 Jim Meyering <meyering@lucent.com>
513 * Makefile.am (all-local): Depend on lstat.c and stat.c.
515 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
517 2000-06-12 Paul Eggert <eggert@twinsun.com>
519 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
521 2000-06-04 Paul Eggert <eggert@twinsun.com>
523 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
525 2000-06-04 Jim Meyering <meyering@lucent.com>
527 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
528 SunOS4.1.4 for which gid_t is an unsigned type.
530 2000-06-03 Jim Meyering <meyering@lucent.com>
532 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
534 2000-05-26 Bruno Haible <haible@clisp.cons.org>
536 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
537 newer, don't install charset.alias.
538 * config.charset: Change the Linux/glibc rules so they become empty
539 on glibc-2.1 or newer.
541 2000-06-02 Jim Meyering <meyering@lucent.com>
543 * mountlist.c: Back out last change. Instead, do this...
544 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
545 member using the same `ignore'-testing code.
546 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
550 2000-05-29 Jim Meyering <meyering@lucent.com>
552 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
553 with the `ignore' attribute. Based on a patch from Mark D. Roth.
555 2000-05-22 Jim Meyering <meyering@lucent.com>
557 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
559 2000-05-18 Jim Meyering <meyering@lucent.com>
561 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
562 back, too, since it may have been modified by allocate_entry.
563 (hash_delete): Rewrite to use neither the assignment operator
564 nor the comma operator in an if-expression.
566 2000-05-15 Paul Eggert <eggert@twinsun.com>
569 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
570 Remove; no longer needed.
571 "quotearg.h": Add include.
572 (file_name): Do not bother to explicitly initialize to NULL; it's less
573 efficient on some hosts.
574 (close_stdout_status): Remove test as to whether stdout was already
575 closed; it breaks for the case "echo x | sort >&-".
576 Quote file name colons.
577 Do not assume that _("write error") lacks format strings.
579 2000-05-15 Jim Meyering <meyering@lucent.com>
581 * version-etc.c (version_etc_copyright): Update the copyright string
582 used in all --version output.
584 2000-05-14 Jim Meyering <meyering@lucent.com>
586 * closeout.c (close_stdout_set_file_name): New function.
587 (close_stdout_status): Use new file-scoped global.
588 Return right away if fstat says the stdout file descriptor is invalid.
589 * closeout.h (close_stdout_set_file_name): Declare.
591 2000-05-10 Jim Meyering <meyering@lucent.com>
593 * closeout.c [default_exit_status]: New file-scoped variable.
594 (close_stdout_set_status): New function.
595 * closeout.h (close_stdout_set_status): Declare.
597 2000-05-08 Jim Meyering <meyering@lucent.com>
599 * long-options.c: Don't include closeout.h.
600 (parse_long_options): Don't call close_stdout for --version.
602 2000-05-06 Jim Meyering <meyering@lucent.com>
604 * strnlen.c: Undefine __strnlen and strnlen.
605 [!weak_alias]: Define __strnlen to strnlen.
607 * atexit.c: New file, from libiberty.
609 2000-05-06 Jim Meyering <meyering@lucent.com>
611 * closeout.c (close_stdout_status): Also check for errors on the
614 2000-05-05 Bruno Haible <haible@clisp.cons.org>
616 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
617 instead of xmalloc, xrealloc, path_concat.
618 (locale_charset): Treat empty environment variables as absent.
619 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
621 2000-05-04 Jim Meyering <meyering@lucent.com>
623 * getopt.c: Update from glibc.
624 * obstack.c: Likewise.
625 * obstack.h: Likewise.
626 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
629 * strndup.c: Likewise.
630 * strnlen.c: New file, from glibc.
632 2000-05-01 Jim Meyering <meyering@lucent.com>
634 * full-write.c (full_write): Remove `FIXME' part of comment.
636 2000-04-29 Jim Meyering <meyering@lucent.com>
638 * path-concat.c: Declare strdup only if it's not defined.
639 * canon-host.c: Likewise.
641 2000-04-28 Jim Meyering <meyering@lucent.com>
643 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
644 redefinition warning on some systems (HPUX). Otherwise, regex.h is
645 included first, then limits.h is included by locale.h by libintl.h.
646 From John David Anglin.
648 2000-04-25 Jim Meyering <meyering@lucent.com>
650 * makepath.c (S_IRWXUGO): Define.
651 (make_path): Always perform explicit chmod if MODE specifies any
652 of the `special' permission bits. Prompted by a bug report against
653 install from Mate Wierdl and Joost van Baal.
655 2000-04-18 Jim Meyering <meyering@lucent.com>
659 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
660 getpagesize. For BeOS. Based on a patch from Bruno Haible.
662 2000-04-17 Jim Meyering <meyering@lucent.com>
664 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
665 the definition of it to rpl_strftime also defined-away the system's
668 2000-04-15 Jim Meyering <meyering@lucent.com>
670 Use `C' to denote so-called `contiguous' files, the same way
672 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
673 (ftypelet): Use S_ISCTG.
674 From Michael Deutschmann.
676 2000-04-14 Jim Meyering <meyering@lucent.com>
678 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
680 2000-04-08 Jim Meyering <meyering@lucent.com>
682 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
683 names don't conflict. Reported by Eli Zaretskii.
685 2000-03-28 Bruno Haible <haible@clisp.cons.org>
687 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
688 bug. Deal with the different error behavior of Irix iconv.
690 2000-04-07 Jim Meyering <meyering@lucent.com>
692 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
693 to work around system header problems on AIX 3.2.5. From Bruno Haible.
695 2000-04-05 Jim Meyering <meyering@lucent.com>
697 Portability tweaks required for ultrix4.3.
698 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
699 * readutmp.c: Include sys/types.h before sys/stat.h.
700 * canon-host.c: Declare strdup.
701 * path-concat.c: Likewise.
702 From John David Anglin.
704 2000-04-04 Jim Meyering <meyering@lucent.com>
706 Be more DOS 8.3-friendly.
707 * ref-add.sin: Renamed from ref-add.sed.in.
708 * ref-del.sin: Renamed from ref-del.sed.in.
709 * Makefile.am: Reflect renaming.
710 Reported by Eli Zaretskii.
712 Use a temporary file name that won't clash with `charset.alias'
713 in the DOS 8.3 name space.
714 * Makefile.am (charset_tmp): Define.
715 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
716 (uninstall-local): Likewise.
717 Reported by Eli Zaretskii.
719 2000-03-29 Paul Eggert <eggert@twinsun.com>
721 * time/strftime.c (my_strftime): Make sure we call the system
722 strftime, not ourselves, when invoking the underlying strftime.
724 2000-03-24 Jim Meyering <meyering@lucent.com>
726 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
727 (charset_alias): Define.
728 (install-exec-local): Factor out common code.
729 (uninstall-local): Split lines longer than 80.
730 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
732 (.sed.in.sed): New rule. Don't redirect directly to $@.
733 (CLEANFILES): Add ref-add.sed and ref-del.sed.
735 2000-03-19 Bruno Haible <haible@clisp.cons.org>
737 * config.charset: Output a line containing "Packages using this file".
738 * ref-add.sed.in, ref-del.sed.in: New files.
739 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
740 ref-del.sed): New rules.
742 2000-03-17 Jim Meyering <meyering@lucent.com>
744 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
745 Otherwise, include <strings.h>
747 2000-03-17 Bruno Haible <haible@clisp.cons.org>
749 * unicodeio.c (utf8_wctomb): New function.
750 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
751 format instead of in UCS-4 with platform dependent endianness.
753 2000-03-07 Paul Eggert <eggert@twinsun.com>
755 * savedir.c (savedir): Work even if directory size is
756 negative; this can happen with some screwy NFS configurations.
758 2000-03-06 Jim Meyering <meyering@lucent.com>
760 * localcharset.c (get_charset_aliases): Don't try to free file_name
761 if it's NULL (because we ran out of memory). From Bruno Haible.
763 2000-03-05 Jim Meyering <meyering@lucent.com>
765 * localcharset.c ("path-concat.h"): Include.
766 (get_charset_aliases): Use path_concat instead of ANSI string
769 * unicodeio.h (PARAMS): Define.
770 Use it to guard prototype.
772 2000-03-04 Jim Meyering <meyering@lucent.com>
774 * Makefile.am (install-exec-local): Create $(libdir) before installing
776 (uninstall-local): Uncomment this rule so `make distcheck' works
779 * unicodeio.c (<errno.h>): Include it.
780 (errno): Declare if not defined.
782 * localcharset.c: Add Bruno's comment justifying use of volatile.
784 * config.charset: New version, incorporating remarks from a linux
785 i18n mailing list. From Bruno Haible.
787 2000-03-02 Jim Meyering <meyering@lucent.com>
789 * Makefile.am (EXTRA_DIST): Add config.charset.
791 2000-03-01 Jim Meyering <meyering@lucent.com>
793 * localcharset.c: Guard some #includes with `#if HAVE_...'.
794 * unicodeio.c: Likewise.
796 2000-02-02 Bruno Haible <haible@clisp.cons.org>
798 * config.charset: New file.
799 * localcharset.c: New file.
800 * unicodeio.h, unicodeio.c: New files.
801 * Makefile.am (DEFS): Add -DLIBDIR=...
802 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
803 (noinst_HEADERS): Add unicodeio.h.
804 (all-local, install-exec-local, charset.alias): New targets.
806 2000-02-28 Paul Eggert <eggert@twinsun.com>
808 * quotearg.c (ALERT_CHAR): New macro.
809 (quotearg_buffer_restyled): Use it.
811 2000-02-27 Jim Meyering <meyering@lucent.com>
813 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
814 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
816 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
817 not `#if STDC_HEADERS'.
818 Declare malloc if needed.
820 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
821 now that autoconf always defines the HAVE_DECL_ symbols.
824 * strtoumax.c: Likewise.
826 * backupfile.c: Arrange for cpp to fail if the configure-time
827 declaration check was not run.
831 * strtoumax.c: Likewise.
833 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
834 then first look up the entire `.'-containing string as a login name.
836 2000-02-18 Paul Eggert <eggert@twinsun.com>
838 * getdate.y: Handle two-digit years with leading zeros correctly.
839 (textint): New typedef.
840 (parser_control): Member year changed from int to textint.
842 (YYSTYPE): Removed; replaced by %union with int and textint members.
843 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
844 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
845 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
846 (tSNUMBER, tUNUMBER): Now of type <textintval>.
847 (date, number, to_year): Use width of number in digits, not its value,
848 to determine whether it's a 2-digit year, or a 2-digit time.
849 (yylex): Store number of digits of numeric tokens.
850 Reported by John Kendall.
852 (parser_control): Changed from struct parser_control to typedef (for
853 consistency). All uses changed.
855 (tID): Removed; not used.
856 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
858 2000-02-14 Paul Eggert <eggert@twinsun.com>
860 * getpagesize.h (getpagesize): Port to VMS for Alpha;
861 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
863 2000-02-12 Jim Meyering <meyering@lucent.com>
865 * userspec.c (ISDIGIT): Define it.
866 (isdigit): Remove definition.
867 (is_number): Use ISDIGIT, not isdigit.
868 <libintl.h>: Include.
870 (parse_user_spec): Mark translatable strings.
872 2000-02-10 Jim Meyering <meyering@lucent.com>
874 With these changes, nanosleep.[ch] are finally enough like the other
875 lib/* replacement files to compile on a few more losing systems.
877 * nanosleep.h: Don't include config.h.
878 Remove prototype from declaration of nanosleep.
879 (PARAMS): Remove now-unneeded definition.
880 * nanosleep.c: #undef nanosleep.
881 (rpl_nanosleep): Rename from nanosleep.
883 2000-02-03 Jim Meyering <meyering@lucent.com>
885 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
886 rather than with `#if HAVE_UTMPNAME'.
888 2000-02-01 Jim Meyering <meyering@lucent.com>
890 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
892 2000-01-31 Jim Meyering <meyering@lucent.com>
894 * nanosleep.h (nanosleep): Guard declaration with
895 `#if ! HAVE_DECL_NANOSLEEP'.
896 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
897 the declaration in that vendor's sys/timers.h.
898 Reported by Christian Krackowizer.
900 * quotearg.c (ISASCII): Add #undef and move definition to follow
901 inclusion of wctype.h to work around solaris2.6 namespace pollution.
903 Reported by Tom Tromey.
905 2000-01-30 Jim Meyering <meyering@lucent.com>
907 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
908 uses of ->ut_name. The latter doesn't work with new Linux header files
909 where only utmpx.ut_user is declared.
911 * readutmp.h (UT_USER): Define.
913 2000-01-23 Jim Meyering <meyering@lucent.com>
915 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
918 2000-01-22 Jim Meyering <meyering@lucent.com>
920 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
921 [! HAVE_DECL_STRTOULL]: Declare strtoull.
922 Required for some AIX systems. Reported by Christian Krackowizer.
923 [TESTING] (main): New function.
925 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
926 * dirname.c (dir_name): Support for DOS-style file names with drive
929 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
931 * strverscmp.c (ISDIGIT): Define.
932 (strverscmp): Use ISDIGIT, not isdigit.
934 2000-01-17 Paul Eggert <eggert@twinsun.com>
936 * nanosleep.c (nanosleep):
937 Don't use SA_INTERRUPT to decide whether to call sigaction, as
938 POSIX.1 doesn't require SA_INTERRUPT and some systems
939 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
940 it's been part of POSIX.1 since day 1 (in 1988).
942 2000-01-17 Jim Meyering <meyering@lucent.com>
944 * interlock: Remove unused file. Reported by François Pinard.
946 2000-01-16 Paul Eggert <eggert@twinsun.com>
948 * quotearg.c (quotearg_buffer_restyled): Do not quote
949 alert, backslash, formfeed, and vertical tab unnecessarily in
953 version-control: never