1 2000-12-16 Jim Meyering <meyering@lucent.com>
3 * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
4 SHELLS_FILE to a file name that's useful on djgpp systems.
6 (ADDITIONAL_DEFAULT_SHELLS): Define.
7 (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
8 Based mostly on a patch from Prashant TR.
10 2000-12-16 Jim Meyering <meyering@lucent.com>
12 This bug had a serious impact on chown: `chown N:M FILE' (for integer
13 N and M) would have treated it like `chown N:N FILE'.
15 * userspec.c (parse_user_spec): Fix typo: s/u/g/.
17 2000-12-08 Andreas Schwab <schwab@suse.de>
19 * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
20 invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
22 2000-12-07 Jim Meyering <meyering@lucent.com>
24 * stripslash.c (ISSLASH): Define.
25 (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
28 * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
29 (dir_name_r): Declare this function as static.
30 [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
31 manifest itself on a name containing a mix of slashes and
33 Make this function work with names starting with a DOS-style
34 drive letter and colon prefix.
35 (dir_name): Append `.' if necessary.
36 Based mostly on patches from Prashant TR and Eli Zaretskii.
38 * dirname.h (dir_name_r): Remove prototype.
40 2000-12-05 Jim Meyering <meyering@lucent.com>
42 * dirname.c (dir_name_r): Add `const' in a few local declarations.
44 2000-12-04 Jim Meyering <meyering@lucent.com>
46 * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
47 Also include memory.h, stdlib.h, unistd.h if appropriate.
48 Reported by Andreas Jaeger (conflicting declaration of malloc).
50 2000-12-02 Jim Meyering <meyering@lucent.com>
52 * closeout.h: Make idempotent, to avoid some obscure warnings.
54 2000-12-01 Paul Eggert <eggert@twinsun.com>
56 * lib/memrchr.c: Include <config.h> before any system include file.
58 2000-11-29 Paul Eggert <eggert@twinsun.com>
60 * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
62 2000-11-26 Jim Meyering <meyering@lucent.com>
64 * memcoll.c: Include sys/types.h. From Werner Almesberger.
66 2000-11-22 Paul Eggert <eggert@twinsun.com>
68 * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
69 size of (size_t) -1; it's not portable.
71 2000-11-17 Akim Demaille <akim@epita.fr>
73 * lib/obstack.h: Formatting changes.
74 (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
75 prevent type checking.
76 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
77 cast the value to (void *): assigning a `foo *' to a `void *'
79 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
81 2000-11-17 Jim Meyering <meyering@lucent.com>
83 * strstr.c: Update from GNU libc.
85 2000-11-16 Jim Meyering <meyering@lucent.com>
87 * strverscmp.c: Incorporate weak-alias-related changes from glibc.
89 2000-11-11 Jim Meyering <meyering@lucent.com>
91 * error.c: Add a couple #includes, merging from GNU libc version.
93 2000-11-10 Jim Meyering <meyering@lucent.com>
95 * obstack.h: Update from GNU libc.
96 * obstack.c: Likewise.
98 2000-11-06 Paul Eggert <eggert@twinsun.com>
100 * getusershell.c (setusershell): Use rewind rather than
101 fseek/fseeko, to avoid configuration hassles with fseeko.
102 Don't bother opening SHELLS_FILE if shellstream is NULL;
105 2000-11-05 Jim Meyering <meyering@lucent.com>
107 * makepath.h (make_dir): Declare.
108 * makepath.c (make_dir): Remove `static' attribute.
111 2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr>
113 * hash.c (hash_get_next): Fix a thinko: when ENTRY is the
114 last one in a bucket, advance to the next bucket.
116 2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg>
118 * fnmatch.c: Do not comment out all the code if we are using
119 the GNU C library, because in some cases we are replacing buggy
120 code in the GNU C library itself.
122 2000-10-30 Paul Eggert <eggert@twinsun.com>
124 * error.h, getline.h, modechange.h:
125 Remove "2000" from Copyright line, as the file hasn't been
126 changed this year other than in the copyright notice.
128 * xalloc.h: Add "2000" to Copyright line, as this file
129 was changed this year.
131 2000-10-30 Paul Eggert <eggert@twinsun.com>
133 * fnmatch.c (FOLD): Do not assume that characters are unsigned.
134 (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
135 e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
137 2000-10-29 Greg Louis <glouis@dynamicro.on.ca>
139 * regex.h (__restrict_arr): Move definition out of #ifndef block.
140 Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
141 doesn't define __restrict_arr.
143 2000-10-29 Jim Meyering <meyering@lucent.com>
145 * xstat.in: Fix grammar in comment.
147 2000-10-28 Jim Meyering <meyering@lucent.com>
149 * memchr.c: Update from libc.
150 Adjust for portability:
151 [HAVE_STDLIB_H]: Include stdlib.h.
152 [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
154 [!weak_alias]: Define __memchr to memchr.
156 * regex.c: Update from libc.
158 * getopt1.c: Likewise.
159 * memcmp.c: Likewise.
161 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
162 Avoid using fseek, when possible -- it's broken by design.
163 Patch by Ulrich Drepper.
165 2000-10-26 Jim Meyering <meyering@lucent.com>
167 * strftime.c: Update from libc.
169 2000-10-25 Jim Meyering <meyering@lucent.com>
171 * obstack.c: Update from libc.
173 2000-10-23 Jim Meyering <meyering@lucent.com>
175 * hard-locale.c (hard_locale): Revert last change -- it was simply
176 wrong. That set_locale call must not have any side effects.
179 2000-10-22 Jim Meyering <meyering@lucent.com>
181 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
182 [CYCLIC]: Remove now-unused definition.
184 * save-cwd.c (O_DIRECTORY): Define, if needed.
185 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
186 Suggestion from Ulrich Drepper.
188 2000-10-21 Jim Meyering <meyering@lucent.com>
190 * dirname.c (dir_name_r): New function, factored out of dir_name.
191 (dir_name): Use dir_name_r.
192 * dirname.h (dir_name_r): Declare it.
194 2000-10-21 Jim Meyering <meyering@lucent.com>
196 * dirname.c (memrchr): Declare if necessary.
197 (dir_name): Remove the restriction that there be no
198 trailing slashes. Now, this code skips past them, effectively
200 [TEST_DIRNAME] (main): New unit tests.
202 * memrchr.c: New file from GNU libc.
203 Undef __memrchr, too.
204 [!weak_alias]: Define __memrchr to memrchr.
205 Guard weak_alias use with `#ifdef weak_alias'.
207 2000-10-17 Jim Meyering <meyering@lucent.com>
209 * quote.h (PARAMS): Define and use.
210 Reported by Akim Demaille.
212 * getopt.c: Update from libc.
214 2000-10-16 Jim Meyering <meyering@lucent.com>
216 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
219 2000-09-25 Jim Meyering <meyering@lucent.com>
221 * md5.h (rol): Define (from GnuPG).
223 * sha.c: Give credit (GnuPG) where due.
224 (M): Use rol rather than open-coding it.
227 2000-09-21 Jim Meyering <meyering@lucent.com>
229 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
230 Reported by Michael Stone.
232 2000-09-20 Jim Meyering <meyering@lucent.com>
234 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
235 (noinst_HEADERS): Add sha.h.
236 Based on code from Scott G. Miller and from GnuPG.
238 2000-09-15 Jim Meyering <meyering@lucent.com>
240 * regex.c: Update from libc.
242 2000-09-10 Jim Meyering <meyering@lucent.com>
244 * getopt.c (_getopt_internal): Update from glibc.
246 2000-09-09 Jim Meyering <meyering@lucent.com>
248 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
249 think it should be used as a general replacement for isascii.
250 * fnmatch.c: Likewise.
251 * mbswidth.c: Likewise
255 * userspec.c: Include sys/param.h and limits.h.
257 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
258 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
259 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
260 UID, GID. Check range.
262 2000-09-06 Jim Meyering <meyering@lucent.com>
264 * getopt.c (_getopt_internal): Update from glibc.
266 2000-08-30 Jim Meyering <meyering@lucent.com>
268 * strftime.c: Merge in changes from GNU libc.
270 2000-08-26 Jim Meyering <meyering@lucent.com>
272 * closeout.c: Include "__fpending.h".
273 (close_stdout_status): Return right away if there's nothing to flush.
275 * Makefile.am (noinst_HEADERS): Add __fpending.h.
276 * __fpending.c: New file.
277 * __fpending.h: New file.
279 2000-08-07 Paul Eggert <eggert@twinsun.com>
281 Standardize on "memory exhausted" instead of "Memory exhausted"
282 or "virtual memory exhausted".
283 * obstack.c (print_and_abort): Use "memory exhausted", not
284 "virtual memory exhausted".
285 * same.c (same_name): Invoke xalloc_die instead of printing
287 * userspec.c (parse_user_spec): Likewise.
288 * bumpalloc.h: comment fix
289 * same.c, userspec.c: Include xalloc.h.
291 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
292 not char *const and pointing to a constant array.
293 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
294 (xrealloc): Comment fix.
296 * userspec.c (parse_user_spec):
297 Don't translate a message until just before returning,
298 to avoid unnecessary translation.
300 2000-08-07 Jim Meyering <meyering@lucent.com>
302 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
303 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
304 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
305 getgroups.c, gethostname.c, getopt.h, group-member.c,
306 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
307 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
308 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
309 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
310 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
311 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
312 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
313 yesno.c: Back out Copyright date changes for each file with no change
314 this year. This eases coordination with other programs using the same
315 source code modules. From Paul Eggert.
317 2000-08-03 Greg McGary <greg@mcgary.org>
319 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
320 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
321 (EXTEND_BUFFER): Use them.
323 2000-08-01 Jim Meyering <meyering@lucent.com>
325 * dirname.c (ISSLASH): Define.
326 (BACKSLASH_IS_PATH_SEPARATOR): Define.
327 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
328 both `\' and `/' may be use as path separators.
329 Based on a patch from Prashant TR.
331 2000-07-31 Paul Eggert <eggert@twinsun.com>
333 * quotearg.c (quotearg_n_options): Don't make the initial
334 slot vector a constant, since it might get modified.
336 2000-07-31 Jim Meyering <meyering@lucent.com>
338 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
339 * obstack.c (print_and_abort): Likewise.
341 2000-07-30 Paul Eggert <eggert@twinsun.com>
343 * quotearg.c (quotearg_n_options): Preallocate a slot 0
344 buffer, so that the caller can always quote one small
345 component of a "memory exhausted" message in slot 0.
346 From a suggestion by Jim Meyering.
348 2000-07-30 Jim Meyering <meyering@lucent.com>
350 * makepath.c (make_path): Quote the other instance, too.
352 * quotearg.c (N_STATIC_SLOTVECS): Define.
353 (STATIC_BUF_SIZE): Define.
354 (quotearg_n_options): Use only statically allocated storage when
355 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
356 than STATIC_BUF_SIZE.
358 2000-07-29 Jim Meyering <meyering@lucent.com>
360 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
361 * dirname.c (dir_name): Likewise.
363 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
365 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
366 (dir_name): Assert that there are no trailing slashes.
368 2000-07-18 Bruno Haible <haible@clisp.cons.org>
370 * mbswidth.h (mbswidth): Add a flags argument.
371 (mbswidth): New declaration.
372 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
373 * mbswidth.c (mbswidth): Add a flags argument.
374 (mbsnwidth): New function.
376 2000-07-24 Jim Meyering <meyering@lucent.com>
378 * mbswidth.c: Remove useless #else. From Bruno Haible.
380 2000-07-23 Paul Eggert <eggert@twinsun.com>
382 * mbswidth.c (_XOPEN_SOURCE):
383 Don't define; this causes problems on Solaris 7.
384 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
386 2000-07-23 Paul Eggert <eggert@twinsun.com>
389 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
390 so that mbstate_t is always defined.
392 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
393 be 1 in at least one GCC installation, and this configuration
394 error is likely to be common. Ignoring MB_LEN_MAX hurts
395 performance on hosts that have mbrtowc but have only unibyte
396 locales, but I assume these hosts are rare.
398 2000-07-23 Paul Eggert <eggert@twinsun.com>
400 * quotearg.c: Streamline by invoking multibyte code only if needed.
401 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
402 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
403 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
404 invoke multibyte primitives.
406 2000-07-23 Jim Meyering <meyering@lucent.com>
408 * basename.c (base_name): Add an assertion.
410 2000-07-15 Bruno Haible <clisp.cons.org>
412 * quotearg.c: When the system forces us to redefine mbstate_t,
413 shadow its mbsinit function.
415 2000-07-16 Bruno Haible <haible@clisp.cons.org>
417 * mbswidth.h: New file.
418 * mbswidth.c: New file.
419 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
420 (noinst_HEADERS): Add mbswidth.h.
422 2000-07-17 Bruno Haible <haible@clisp.cons.org>
424 * config.charset: Add support for FreeBSD. Improve support for HP-UX
427 2000-07-15 Jim Meyering <meyering@lucent.com>
429 * makepath.c: Include quote.h.
430 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
431 corresponding argument in a `quote (...)' call.
432 Give better diagnostics.
434 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
435 (noinst_HEADERS): Add quote.h.
437 * quote.c (quote, quote_n): New file. Two functions taken verbatim
438 from tar's src/misc.c.
439 * quote.h: New file. Prototypes for same.
441 2000-07-10 Paul Eggert <eggert@twinsun.com>
443 From a suggestion by Bruno Haible.
444 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
445 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
446 to decide whether to define the BeOS workaround macro;
447 this adjusts to the change to AC_MBSTATE_T.
449 2000-07-13 Paul Eggert <eggert@twinsun.com>
451 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
453 * quotearg.c: (quoting_style_args, quoting_style_vals,
454 quotearg_buffer_restyled): Add support for
455 clocale_quoting_style. Undo previous change to
456 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
457 and "{RIGHT QUOTATION MARK}" msgids.
459 2000-07-05 Paul Eggert <eggert@twinsun.com>
461 The old behavior of quoting `like this' doesn't look good with
462 newer, ISO-style fonts. See:
463 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
465 Instead, quote "like this" by default. Let the translator
466 tailor the locale-specific quoting behavior by providing
467 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
469 * quotearg.c (N_): New macro.
470 (gettext_default): New function.
471 (quotearg_buffer_restyled): Use
472 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
473 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
475 2000-07-09 Jim Meyering <meyering@lucent.com>
477 * Most files: Update copyright dates to include 2000.
479 2000-07-08 Jim Meyering <meyering@lucent.com>
481 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
483 (xgethostname): Remove now-unnecessary #ifdef.
484 Move declaration of `err' into loop where it's used.
486 2000-07-05 Bruno Haible <haible@clisp.cons.org>
488 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
489 by allocating a larger buffer. Test the gethostname return value for
490 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
491 returns an error and ENAMETOOLONG isn't defined.
493 2000-07-05 Paul Eggert <eggert@twinsun.com>
494 and Bruno Haible <haible@clisp.cons.org>
496 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
498 2000-07-05 Bruno Haible <haible@clisp.cons.org>
500 * quotearg.c (struct quoting_options): Simplify quote_these_too
503 2000-07-03 Jim Meyering <meyering@lucent.com>
505 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
506 Reported by Bruno Haible.
508 2000-07-04 Jim Meyering <meyering@lucent.com>
510 * quotearg.c: Make inclusion of <wchar.h> independent of whether
511 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
514 2000-07-03 Paul Eggert <eggert@twinsun.com>
515 and Bruno Haible <haible@clisp.cons.org>
517 * quotearg.c (mbrtowc):
518 Assign to *pwc, and return 1 only if result is nonzero.
519 (iswprint): Use ISPRINT when substituting our own mbrtowc.
521 2000-07-03 Jim Meyering <meyering@lucent.com>
523 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
524 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
527 2000-07-02 Jim Meyering <meyering@lucent.com>
529 * quotearg.c (mbstate_t): Don't define here.
531 2000-07-02 Jim Meyering <meyering@lucent.com>
533 * nanosleep.c (SIGCONT): Define if not already defined.
535 2000-06-17 Bruno Haible <haible@clisp.cons.org>
537 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
538 per change in ../m4/ls-mntd-fs.m4.
539 (read_filesystem_list): Ignore symbolic links.
541 2000-06-29 Jim Meyering <meyering@lucent.com>
543 * same.c: Include <string.h> or <strings.h>, as appropriate,
544 for declaration of strcmp.
546 * long-options.c: Include <stdlib.h>, for declaration of exit.
548 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
549 Avoid warning by casting result to `char *' to remove `const'.
551 2000-06-17 Bruno Haible <haible@clisp.cons.org>
553 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
555 2000-06-26 Paul Eggert <eggert@twinsun.com>
557 savedir now sets errno on failure and invokes xmalloc to get memory.
558 Fix a couple of other minor bugs while we're at it.
560 * savedir.c (<unistd.h>): Do not include; there's no need.
561 (NAMLEN): Remove macro.
562 (malloc, realloc): Remove decls.
564 ("xalloc.h"): Include.
565 (NAME_SIZE_DEFAULT): New macro.
566 (savedir): Use xmalloc / xrealloc to allocate memory.
567 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
568 Skip "" directory entries.
569 Use strlen to calculate directory entry length, since the old method
570 is rarely used these days and isn't worth supporting.
571 Don't use a pointer after freeing it.
572 Check for integer overflow when calculating allocation size.
573 Use memcpy to copy entries, instead of stpcpy.
574 Set errno properly when returning NULL.
575 Check for readdir error.
577 2000-06-26 Jim Meyering <meyering@lucent.com>
579 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
581 2000-06-17 Bruno Haible <haible@clisp.cons.org>
583 * getusershell.c (xmalloc, xrealloc): Remove functions.
585 Don't include <stdlib.h>. Don't declare malloc, realloc.
587 2000-06-23 Bruno Haible <haible@clisp.cons.org>
589 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
591 2000-06-24 Jim Meyering <meyering@lucent.com>
593 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
595 2000-06-21 Jim Meyering <meyering@lucent.com>
597 * getpass.c: New file, from Bruno Haible. Required for BeOS.
599 2000-06-19 Paul Eggert <eggert@twinsun.com>
601 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
602 (mbrtowc, mbstate_t): Define substitutes if
603 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
604 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
605 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
607 2000-06-17 Bruno Haible <haible@clisp.cons.org>
609 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
610 than 1024, return a memory chunk of least possible size, instead
611 of size PATH_MAX + 2. In the loop, increment the size proportionally.
612 Use free/xmalloc instead of xrealloc to avoid copying for very long
615 2000-06-17 Bruno Haible <haible@clisp.cons.org>
617 * canon-host.c (canon_host): Use malloc and memcpy to copy an
618 address, not strdup. Include <stdlib.h> and don't declare free().
620 2000-06-17 Bruno Haible <haible@clisp.cons.org>
622 * path-concat.c (path_concat): Don't access dir[-1] if dir is
625 2000-06-21 Jim Meyering <meyering@lucent.com>
627 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
628 (noinst_HEADERS): Add getstr.h.
630 * getline.c (getstr): Move into a separate file.
631 * getstr.c (getstr): New file, extracted from getline.c, with
632 the following changes: new parameter, delim2; both delim[12]
633 parameters have type `int', not `char'. The latter would lose
634 with 8-bit delimiters.
635 * getstr.h: New file.
637 2000-06-19 Jim Meyering <meyering@lucent.com>
639 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
641 2000-06-18 Jim Meyering <meyering@lucent.com>
643 * mkdir.c: Remove file, due mainly to copyright incompatibility.
644 Besides, these days every porting target provides a mkdir function.
646 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
647 (this snippet comes from src/system.h).
649 2000-06-15 Paul Eggert <eggert@twinsun.com>
651 * human.c (adjust_value): New function.
652 (human_readable_inexact): Apply rounding style even when
653 printing approximate values.
655 2000-06-14 Paul Eggert <eggert@twinsun.com>
657 * human.c (human_readable_inexact): Allow an input block
658 size that is not a multiple of the output block size, and vice versa.
659 Reported by Piergiorgio Sartor.
661 2000-06-14 Paul Eggert <eggert@twinsun.com>
663 * getdate.y (get_date): Apply relative times after time
664 zone indicator, not before. Reported by Todd A. Jacobs.
666 2000-06-13 Jim Meyering <meyering@lucent.com>
668 * Makefile.am (all-local): Depend on lstat.c and stat.c.
670 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
672 2000-06-12 Paul Eggert <eggert@twinsun.com>
674 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
676 2000-06-04 Paul Eggert <eggert@twinsun.com>
678 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
680 2000-06-04 Jim Meyering <meyering@lucent.com>
682 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
683 SunOS4.1.4 for which gid_t is an unsigned type.
685 2000-06-03 Jim Meyering <meyering@lucent.com>
687 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
689 2000-05-26 Bruno Haible <haible@clisp.cons.org>
691 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
692 newer, don't install charset.alias.
693 * config.charset: Change the Linux/glibc rules so they become empty
694 on glibc-2.1 or newer.
696 2000-06-02 Jim Meyering <meyering@lucent.com>
698 * mountlist.c: Back out last change. Instead, do this...
699 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
700 member using the same `ignore'-testing code.
701 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
705 2000-05-29 Jim Meyering <meyering@lucent.com>
707 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
708 with the `ignore' attribute. Based on a patch from Mark D. Roth.
710 2000-05-22 Jim Meyering <meyering@lucent.com>
712 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
714 2000-05-18 Jim Meyering <meyering@lucent.com>
716 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
717 back, too, since it may have been modified by allocate_entry.
718 (hash_delete): Rewrite to use neither the assignment operator
719 nor the comma operator in an if-expression.
721 2000-05-15 Paul Eggert <eggert@twinsun.com>
724 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
725 Remove; no longer needed.
726 "quotearg.h": Add include.
727 (file_name): Do not bother to explicitly initialize to NULL; it's less
728 efficient on some hosts.
729 (close_stdout_status): Remove test as to whether stdout was already
730 closed; it breaks for the case "echo x | sort >&-".
731 Quote file name colons.
732 Do not assume that _("write error") lacks format strings.
734 2000-05-15 Jim Meyering <meyering@lucent.com>
736 * version-etc.c (version_etc_copyright): Update the copyright string
737 used in all --version output.
739 2000-05-14 Jim Meyering <meyering@lucent.com>
741 * closeout.c (close_stdout_set_file_name): New function.
742 (close_stdout_status): Use new file-scoped global.
743 Return right away if fstat says the stdout file descriptor is invalid.
744 * closeout.h (close_stdout_set_file_name): Declare.
746 2000-05-10 Jim Meyering <meyering@lucent.com>
748 * closeout.c [default_exit_status]: New file-scoped variable.
749 (close_stdout_set_status): New function.
750 * closeout.h (close_stdout_set_status): Declare.
752 2000-05-08 Jim Meyering <meyering@lucent.com>
754 * long-options.c: Don't include closeout.h.
755 (parse_long_options): Don't call close_stdout for --version.
757 2000-05-06 Jim Meyering <meyering@lucent.com>
759 * strnlen.c: Undefine __strnlen and strnlen.
760 [!weak_alias]: Define __strnlen to strnlen.
762 * atexit.c: New file, from libiberty.
764 2000-05-06 Jim Meyering <meyering@lucent.com>
766 * closeout.c (close_stdout_status): Also check for errors on the
769 2000-05-05 Bruno Haible <haible@clisp.cons.org>
771 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
772 instead of xmalloc, xrealloc, path_concat.
773 (locale_charset): Treat empty environment variables as absent.
774 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
776 2000-05-04 Jim Meyering <meyering@lucent.com>
778 * getopt.c: Update from glibc.
779 * obstack.c: Likewise.
780 * obstack.h: Likewise.
781 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
784 * strndup.c: Likewise.
785 * strnlen.c: New file, from glibc.
787 2000-05-01 Jim Meyering <meyering@lucent.com>
789 * full-write.c (full_write): Remove `FIXME' part of comment.
791 2000-04-29 Jim Meyering <meyering@lucent.com>
793 * path-concat.c: Declare strdup only if it's not defined.
794 * canon-host.c: Likewise.
796 2000-04-28 Jim Meyering <meyering@lucent.com>
798 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
799 redefinition warning on some systems (HPUX). Otherwise, regex.h is
800 included first, then limits.h is included by locale.h by libintl.h.
801 From John David Anglin.
803 2000-04-25 Jim Meyering <meyering@lucent.com>
805 * makepath.c (S_IRWXUGO): Define.
806 (make_path): Always perform explicit chmod if MODE specifies any
807 of the `special' permission bits. Prompted by a bug report against
808 install from Mate Wierdl and Joost van Baal.
810 2000-04-18 Jim Meyering <meyering@lucent.com>
814 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
815 getpagesize. For BeOS. Based on a patch from Bruno Haible.
817 2000-04-17 Jim Meyering <meyering@lucent.com>
819 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
820 the definition of it to rpl_strftime also defined-away the system's
823 2000-04-15 Jim Meyering <meyering@lucent.com>
825 Use `C' to denote so-called `contiguous' files, the same way
827 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
828 (ftypelet): Use S_ISCTG.
829 From Michael Deutschmann.
831 2000-04-14 Jim Meyering <meyering@lucent.com>
833 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
835 2000-04-08 Jim Meyering <meyering@lucent.com>
837 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
838 names don't conflict. Reported by Eli Zaretskii.
840 2000-03-28 Bruno Haible <haible@clisp.cons.org>
842 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
843 bug. Deal with the different error behavior of Irix iconv.
845 2000-04-07 Jim Meyering <meyering@lucent.com>
847 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
848 to work around system header problems on AIX 3.2.5. From Bruno Haible.
850 2000-04-05 Jim Meyering <meyering@lucent.com>
852 Portability tweaks required for ultrix4.3.
853 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
854 * readutmp.c: Include sys/types.h before sys/stat.h.
855 * canon-host.c: Declare strdup.
856 * path-concat.c: Likewise.
857 From John David Anglin.
859 2000-04-04 Jim Meyering <meyering@lucent.com>
861 Be more DOS 8.3-friendly.
862 * ref-add.sin: Renamed from ref-add.sed.in.
863 * ref-del.sin: Renamed from ref-del.sed.in.
864 * Makefile.am: Reflect renaming.
865 Reported by Eli Zaretskii.
867 Use a temporary file name that won't clash with `charset.alias'
868 in the DOS 8.3 name space.
869 * Makefile.am (charset_tmp): Define.
870 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
871 (uninstall-local): Likewise.
872 Reported by Eli Zaretskii.
874 2000-03-29 Paul Eggert <eggert@twinsun.com>
876 * time/strftime.c (my_strftime): Make sure we call the system
877 strftime, not ourselves, when invoking the underlying strftime.
879 2000-03-24 Jim Meyering <meyering@lucent.com>
881 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
882 (charset_alias): Define.
883 (install-exec-local): Factor out common code.
884 (uninstall-local): Split lines longer than 80.
885 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
887 (.sed.in.sed): New rule. Don't redirect directly to $@.
888 (CLEANFILES): Add ref-add.sed and ref-del.sed.
890 2000-03-19 Bruno Haible <haible@clisp.cons.org>
892 * config.charset: Output a line containing "Packages using this file".
893 * ref-add.sed.in, ref-del.sed.in: New files.
894 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
895 ref-del.sed): New rules.
897 2000-03-17 Jim Meyering <meyering@lucent.com>
899 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
900 Otherwise, include <strings.h>
902 2000-03-17 Bruno Haible <haible@clisp.cons.org>
904 * unicodeio.c (utf8_wctomb): New function.
905 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
906 format instead of in UCS-4 with platform dependent endianness.
908 2000-03-07 Paul Eggert <eggert@twinsun.com>
910 * savedir.c (savedir): Work even if directory size is
911 negative; this can happen with some screwy NFS configurations.
913 2000-03-06 Jim Meyering <meyering@lucent.com>
915 * localcharset.c (get_charset_aliases): Don't try to free file_name
916 if it's NULL (because we ran out of memory). From Bruno Haible.
918 2000-03-05 Jim Meyering <meyering@lucent.com>
920 * localcharset.c ("path-concat.h"): Include.
921 (get_charset_aliases): Use path_concat instead of ANSI string
924 * unicodeio.h (PARAMS): Define.
925 Use it to guard prototype.
927 2000-03-04 Jim Meyering <meyering@lucent.com>
929 * Makefile.am (install-exec-local): Create $(libdir) before installing
931 (uninstall-local): Uncomment this rule so `make distcheck' works
934 * unicodeio.c (<errno.h>): Include it.
935 (errno): Declare if not defined.
937 * localcharset.c: Add Bruno's comment justifying use of volatile.
939 * config.charset: New version, incorporating remarks from a linux
940 i18n mailing list. From Bruno Haible.
942 2000-03-02 Jim Meyering <meyering@lucent.com>
944 * Makefile.am (EXTRA_DIST): Add config.charset.
946 2000-03-01 Jim Meyering <meyering@lucent.com>
948 * localcharset.c: Guard some #includes with `#if HAVE_...'.
949 * unicodeio.c: Likewise.
951 2000-02-02 Bruno Haible <haible@clisp.cons.org>
953 * config.charset: New file.
954 * localcharset.c: New file.
955 * unicodeio.h, unicodeio.c: New files.
956 * Makefile.am (DEFS): Add -DLIBDIR=...
957 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
958 (noinst_HEADERS): Add unicodeio.h.
959 (all-local, install-exec-local, charset.alias): New targets.
961 2000-02-28 Paul Eggert <eggert@twinsun.com>
963 * quotearg.c (ALERT_CHAR): New macro.
964 (quotearg_buffer_restyled): Use it.
966 2000-02-27 Jim Meyering <meyering@lucent.com>
968 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
969 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
971 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
972 not `#if STDC_HEADERS'.
973 Declare malloc if needed.
975 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
976 now that autoconf always defines the HAVE_DECL_ symbols.
979 * strtoumax.c: Likewise.
981 * backupfile.c: Arrange for cpp to fail if the configure-time
982 declaration check was not run.
986 * strtoumax.c: Likewise.
988 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
989 then first look up the entire `.'-containing string as a login name.
991 2000-02-18 Paul Eggert <eggert@twinsun.com>
993 * getdate.y: Handle two-digit years with leading zeros correctly.
994 (textint): New typedef.
995 (parser_control): Member year changed from int to textint.
997 (YYSTYPE): Removed; replaced by %union with int and textint members.
998 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
999 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
1000 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
1001 (tSNUMBER, tUNUMBER): Now of type <textintval>.
1002 (date, number, to_year): Use width of number in digits, not its value,
1003 to determine whether it's a 2-digit year, or a 2-digit time.
1004 (yylex): Store number of digits of numeric tokens.
1005 Reported by John Kendall.
1007 (parser_control): Changed from struct parser_control to typedef (for
1008 consistency). All uses changed.
1010 (tID): Removed; not used.
1011 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
1013 2000-02-14 Paul Eggert <eggert@twinsun.com>
1015 * getpagesize.h (getpagesize): Port to VMS for Alpha;
1016 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
1018 2000-02-12 Jim Meyering <meyering@lucent.com>
1020 * userspec.c (ISDIGIT): Define it.
1021 (isdigit): Remove definition.
1022 (is_number): Use ISDIGIT, not isdigit.
1023 <libintl.h>: Include.
1025 (parse_user_spec): Mark translatable strings.
1027 2000-02-10 Jim Meyering <meyering@lucent.com>
1029 With these changes, nanosleep.[ch] are finally enough like the other
1030 lib/* replacement files to compile on a few more losing systems.
1032 * nanosleep.h: Don't include config.h.
1033 Remove prototype from declaration of nanosleep.
1034 (PARAMS): Remove now-unneeded definition.
1035 * nanosleep.c: #undef nanosleep.
1036 (rpl_nanosleep): Rename from nanosleep.
1038 2000-02-03 Jim Meyering <meyering@lucent.com>
1040 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1041 rather than with `#if HAVE_UTMPNAME'.
1043 2000-02-01 Jim Meyering <meyering@lucent.com>
1045 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
1047 2000-01-31 Jim Meyering <meyering@lucent.com>
1049 * nanosleep.h (nanosleep): Guard declaration with
1050 `#if ! HAVE_DECL_NANOSLEEP'.
1051 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1052 the declaration in that vendor's sys/timers.h.
1053 Reported by Christian Krackowizer.
1055 * quotearg.c (ISASCII): Add #undef and move definition to follow
1056 inclusion of wctype.h to work around solaris2.6 namespace pollution.
1057 (ISPRINT): Likewise.
1058 Reported by Tom Tromey.
1060 2000-01-30 Jim Meyering <meyering@lucent.com>
1062 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1063 uses of ->ut_name. The latter doesn't work with new Linux header files
1064 where only utmpx.ut_user is declared.
1066 * readutmp.h (UT_USER): Define.
1068 2000-01-23 Jim Meyering <meyering@lucent.com>
1070 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1073 2000-01-22 Jim Meyering <meyering@lucent.com>
1075 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1076 [! HAVE_DECL_STRTOULL]: Declare strtoull.
1077 Required for some AIX systems. Reported by Christian Krackowizer.
1078 [TESTING] (main): New function.
1080 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
1081 * dirname.c (dir_name): Support for DOS-style file names with drive
1084 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1086 * strverscmp.c (ISDIGIT): Define.
1087 (strverscmp): Use ISDIGIT, not isdigit.
1089 2000-01-17 Paul Eggert <eggert@twinsun.com>
1091 * nanosleep.c (nanosleep):
1092 Don't use SA_INTERRUPT to decide whether to call sigaction, as
1093 POSIX.1 doesn't require SA_INTERRUPT and some systems
1094 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
1095 it's been part of POSIX.1 since day 1 (in 1988).
1097 2000-01-17 Jim Meyering <meyering@lucent.com>
1099 * interlock: Remove unused file. Reported by François Pinard.
1101 2000-01-16 Paul Eggert <eggert@twinsun.com>
1103 * quotearg.c (quotearg_buffer_restyled): Do not quote
1104 alert, backslash, formfeed, and vertical tab unnecessarily in
1105 shell quoting style.
1108 version-control: never