1 2001-01-16 Jim Meyering <meyering@lucent.com>
3 * basename.c: Include <stdio.h>, needed by assert on SunOS4.
6 2001-01-14 Jim Meyering <meyering@lucent.com>
8 * rename.c: New file. From Volker Borchert.
9 Include stdlib.h, string.h or strings.h, and xalloc.h.
10 Use strip_trailing_slashes rather than open-coding it.
12 2001-01-03 Paul Eggert <eggert@twinsun.com>
14 * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
16 2001-01-03 Jim Meyering <meyering@lucent.com>
18 * unicodeio.c (print_unicode_char): Remove `const' from declaration of
19 local `inptr' to avoid warning with some system declarations of iconv.
21 2000-12-29 Paul Eggert <eggert@twinsun.com>
23 * lib/modechange.c: Do not assume that mode_t uses the
24 traditional octal encoding. E.g. "chmod 1 FOO" should set
25 the other-execute bit of FOO even if S_IXOTH != 1.
27 (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
28 WOTH, XOTH, ALLM): New macros.
29 (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
30 S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
32 (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
33 (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
35 No need to use uintmax_t; unsigned long is long enough.
36 Don't bother to get suffix since we don't use it.
38 2000-12-24 Jim Meyering <meyering@lucent.com>
40 * hash.c (is_prime): Return explicit boolean values.
41 (hash_get_first): Return NULL to appease Irix5.6's 89.
42 Reported by Nelson Beebe.
44 2000-10-31 Bruno Haible <haible@clisp.cons.org>
46 * localcharset.c (locale_charset): Add support for Win32.
48 2000-12-18 Paul Eggert <eggert@twinsun.com>
50 * physmem.h, physmem.c: New files.
52 * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
53 (noinst_HEADERS): Add physmem.h.
55 * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
56 't' for compatibility with Solaris 8 sort.
58 2000-12-18 Bruno Haible <haible@clisp.cons.org>
60 * config.charset: Add support for BeOS.
62 2000-12-16 Jim Meyering <meyering@lucent.com>
64 * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
65 SHELLS_FILE to a file name that's useful on djgpp systems.
67 (ADDITIONAL_DEFAULT_SHELLS): Define.
68 (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
69 Based mostly on a patch from Prashant TR.
71 2000-12-16 Jim Meyering <meyering@lucent.com>
73 This bug had a serious impact on chown: `chown N:M FILE' (for integer
74 N and M) would have treated it like `chown N:N FILE'.
76 * userspec.c (parse_user_spec): Fix typo: s/u/g/.
78 2000-10-31 Bruno Haible <haible@clisp.cons.org>
80 * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
81 CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
82 to the list of canonical encodings. Rename EUC-CN to GB2312.
84 2000-12-08 Andreas Schwab <schwab@suse.de>
86 * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
87 invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
89 2000-12-07 Jim Meyering <meyering@lucent.com>
91 * stripslash.c (ISSLASH): Define.
92 (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
95 * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
96 (dir_name_r): Declare this function as static.
97 [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
98 manifest itself on a name containing a mix of slashes and
100 Make this function work with names starting with a DOS-style
101 drive letter and colon prefix.
102 (dir_name): Append `.' if necessary.
103 Based mostly on patches from Prashant TR and Eli Zaretskii.
105 * dirname.h (dir_name_r): Remove prototype.
107 2000-12-05 Jim Meyering <meyering@lucent.com>
109 * dirname.c (dir_name_r): Add `const' in a few local declarations.
111 2000-12-04 Jim Meyering <meyering@lucent.com>
113 * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
114 Also include memory.h, stdlib.h, unistd.h if appropriate.
115 Reported by Andreas Jaeger (conflicting declaration of malloc).
117 2000-12-02 Jim Meyering <meyering@lucent.com>
119 * closeout.h: Make idempotent, to avoid some obscure warnings.
121 2000-12-01 Paul Eggert <eggert@twinsun.com>
123 * lib/memrchr.c: Include <config.h> before any system include file.
125 2000-11-29 Paul Eggert <eggert@twinsun.com>
127 * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
129 2000-11-26 Jim Meyering <meyering@lucent.com>
131 * memcoll.c: Include sys/types.h. From Werner Almesberger.
133 2000-11-22 Paul Eggert <eggert@twinsun.com>
135 * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
136 size of (size_t) -1; it's not portable.
138 2000-11-17 Akim Demaille <akim@epita.fr>
140 * lib/obstack.h: Formatting changes.
141 (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
142 prevent type checking.
143 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
144 cast the value to (void *): assigning a `foo *' to a `void *'
146 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
148 2000-11-17 Jim Meyering <meyering@lucent.com>
150 * strstr.c: Update from GNU libc.
152 2000-11-16 Jim Meyering <meyering@lucent.com>
154 * strverscmp.c: Incorporate weak-alias-related changes from glibc.
156 2000-11-11 Jim Meyering <meyering@lucent.com>
158 * error.c: Add a couple #includes, merging from GNU libc version.
160 2000-11-10 Jim Meyering <meyering@lucent.com>
162 * obstack.h: Update from GNU libc.
163 * obstack.c: Likewise.
165 2000-11-06 Paul Eggert <eggert@twinsun.com>
167 * getusershell.c (setusershell): Use rewind rather than
168 fseek/fseeko, to avoid configuration hassles with fseeko.
169 Don't bother opening SHELLS_FILE if shellstream is NULL;
172 2000-11-05 Jim Meyering <meyering@lucent.com>
174 * makepath.h (make_dir): Declare.
175 * makepath.c (make_dir): Remove `static' attribute.
178 2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr>
180 * hash.c (hash_get_next): Fix a thinko: when ENTRY is the
181 last one in a bucket, advance to the next bucket.
183 2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg>
185 * fnmatch.c: Do not comment out all the code if we are using
186 the GNU C library, because in some cases we are replacing buggy
187 code in the GNU C library itself.
189 2000-10-30 Paul Eggert <eggert@twinsun.com>
191 * error.h, getline.h, modechange.h:
192 Remove "2000" from Copyright line, as the file hasn't been
193 changed this year other than in the copyright notice.
195 * xalloc.h: Add "2000" to Copyright line, as this file
196 was changed this year.
198 2000-10-30 Paul Eggert <eggert@twinsun.com>
200 * fnmatch.c (FOLD): Do not assume that characters are unsigned.
201 (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
202 e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
204 2000-10-29 Greg Louis <glouis@dynamicro.on.ca>
206 * regex.h (__restrict_arr): Move definition out of #ifndef block.
207 Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
208 doesn't define __restrict_arr.
210 2000-10-29 Jim Meyering <meyering@lucent.com>
212 * xstat.in: Fix grammar in comment.
214 2000-10-28 Jim Meyering <meyering@lucent.com>
216 * memchr.c: Update from libc.
217 Adjust for portability:
218 [HAVE_STDLIB_H]: Include stdlib.h.
219 [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
221 [!weak_alias]: Define __memchr to memchr.
223 * regex.c: Update from libc.
225 * getopt1.c: Likewise.
226 * memcmp.c: Likewise.
228 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
229 Avoid using fseek, when possible -- it's broken by design.
230 Patch by Ulrich Drepper.
232 2000-10-26 Jim Meyering <meyering@lucent.com>
234 * strftime.c: Update from libc.
236 2000-10-25 Jim Meyering <meyering@lucent.com>
238 * obstack.c: Update from libc.
240 2000-10-23 Jim Meyering <meyering@lucent.com>
242 * hard-locale.c (hard_locale): Revert last change -- it was simply
243 wrong. That set_locale call must not have any side effects.
246 2000-10-22 Jim Meyering <meyering@lucent.com>
248 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
249 [CYCLIC]: Remove now-unused definition.
251 * save-cwd.c (O_DIRECTORY): Define, if needed.
252 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
253 Suggestion from Ulrich Drepper.
255 2000-10-21 Jim Meyering <meyering@lucent.com>
257 * dirname.c (dir_name_r): New function, factored out of dir_name.
258 (dir_name): Use dir_name_r.
259 * dirname.h (dir_name_r): Declare it.
261 2000-10-21 Jim Meyering <meyering@lucent.com>
263 * dirname.c (memrchr): Declare if necessary.
264 (dir_name): Remove the restriction that there be no
265 trailing slashes. Now, this code skips past them, effectively
267 [TEST_DIRNAME] (main): New unit tests.
269 * memrchr.c: New file from GNU libc.
270 Undef __memrchr, too.
271 [!weak_alias]: Define __memrchr to memrchr.
272 Guard weak_alias use with `#ifdef weak_alias'.
274 2000-10-17 Jim Meyering <meyering@lucent.com>
276 * quote.h (PARAMS): Define and use.
277 Reported by Akim Demaille.
279 * getopt.c: Update from libc.
281 2000-10-16 Jim Meyering <meyering@lucent.com>
283 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
286 2000-09-25 Jim Meyering <meyering@lucent.com>
288 * md5.h (rol): Define (from GnuPG).
290 * sha.c: Give credit (GnuPG) where due.
291 (M): Use rol rather than open-coding it.
294 2000-09-21 Jim Meyering <meyering@lucent.com>
296 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
297 Reported by Michael Stone.
299 2000-09-20 Jim Meyering <meyering@lucent.com>
301 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
302 (noinst_HEADERS): Add sha.h.
303 Based on code from Scott G. Miller and from GnuPG.
305 2000-09-15 Jim Meyering <meyering@lucent.com>
307 * regex.c: Update from libc.
309 2000-09-10 Jim Meyering <meyering@lucent.com>
311 * getopt.c (_getopt_internal): Update from glibc.
313 2000-09-09 Jim Meyering <meyering@lucent.com>
315 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
316 think it should be used as a general replacement for isascii.
317 * fnmatch.c: Likewise.
318 * mbswidth.c: Likewise
322 * userspec.c: Include sys/param.h and limits.h.
324 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
325 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
326 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
327 UID, GID. Check range.
329 2000-09-06 Jim Meyering <meyering@lucent.com>
331 * getopt.c (_getopt_internal): Update from glibc.
333 2000-08-30 Jim Meyering <meyering@lucent.com>
335 * strftime.c: Merge in changes from GNU libc.
337 2000-08-26 Jim Meyering <meyering@lucent.com>
339 * closeout.c: Include "__fpending.h".
340 (close_stdout_status): Return right away if there's nothing to flush.
342 * Makefile.am (noinst_HEADERS): Add __fpending.h.
343 * __fpending.c: New file.
344 * __fpending.h: New file.
346 2000-08-07 Paul Eggert <eggert@twinsun.com>
348 Standardize on "memory exhausted" instead of "Memory exhausted"
349 or "virtual memory exhausted".
350 * obstack.c (print_and_abort): Use "memory exhausted", not
351 "virtual memory exhausted".
352 * same.c (same_name): Invoke xalloc_die instead of printing
354 * userspec.c (parse_user_spec): Likewise.
355 * bumpalloc.h: comment fix
356 * same.c, userspec.c: Include xalloc.h.
358 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
359 not char *const and pointing to a constant array.
360 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
361 (xrealloc): Comment fix.
363 * userspec.c (parse_user_spec):
364 Don't translate a message until just before returning,
365 to avoid unnecessary translation.
367 2000-08-07 Jim Meyering <meyering@lucent.com>
369 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
370 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
371 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
372 getgroups.c, gethostname.c, getopt.h, group-member.c,
373 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
374 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
375 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
376 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
377 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
378 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
379 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
380 yesno.c: Back out Copyright date changes for each file with no change
381 this year. This eases coordination with other programs using the same
382 source code modules. From Paul Eggert.
384 2000-08-03 Greg McGary <greg@mcgary.org>
386 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
387 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
388 (EXTEND_BUFFER): Use them.
390 2000-08-01 Jim Meyering <meyering@lucent.com>
392 * dirname.c (ISSLASH): Define.
393 (BACKSLASH_IS_PATH_SEPARATOR): Define.
394 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
395 both `\' and `/' may be use as path separators.
396 Based on a patch from Prashant TR.
398 2000-07-31 Paul Eggert <eggert@twinsun.com>
400 * quotearg.c (quotearg_n_options): Don't make the initial
401 slot vector a constant, since it might get modified.
403 2000-07-31 Jim Meyering <meyering@lucent.com>
405 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
406 * obstack.c (print_and_abort): Likewise.
408 2000-07-30 Paul Eggert <eggert@twinsun.com>
410 * quotearg.c (quotearg_n_options): Preallocate a slot 0
411 buffer, so that the caller can always quote one small
412 component of a "memory exhausted" message in slot 0.
413 From a suggestion by Jim Meyering.
415 2000-07-30 Jim Meyering <meyering@lucent.com>
417 * makepath.c (make_path): Quote the other instance, too.
419 * quotearg.c (N_STATIC_SLOTVECS): Define.
420 (STATIC_BUF_SIZE): Define.
421 (quotearg_n_options): Use only statically allocated storage when
422 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
423 than STATIC_BUF_SIZE.
425 2000-07-29 Jim Meyering <meyering@lucent.com>
427 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
428 * dirname.c (dir_name): Likewise.
430 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
432 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
433 (dir_name): Assert that there are no trailing slashes.
435 2000-07-18 Bruno Haible <haible@clisp.cons.org>
437 * mbswidth.h (mbswidth): Add a flags argument.
438 (mbswidth): New declaration.
439 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
440 * mbswidth.c (mbswidth): Add a flags argument.
441 (mbsnwidth): New function.
443 2000-07-24 Jim Meyering <meyering@lucent.com>
445 * mbswidth.c: Remove useless #else. From Bruno Haible.
447 2000-07-23 Paul Eggert <eggert@twinsun.com>
449 * mbswidth.c (_XOPEN_SOURCE):
450 Don't define; this causes problems on Solaris 7.
451 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
453 2000-07-23 Paul Eggert <eggert@twinsun.com>
456 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
457 so that mbstate_t is always defined.
459 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
460 be 1 in at least one GCC installation, and this configuration
461 error is likely to be common. Ignoring MB_LEN_MAX hurts
462 performance on hosts that have mbrtowc but have only unibyte
463 locales, but I assume these hosts are rare.
465 2000-07-23 Paul Eggert <eggert@twinsun.com>
467 * quotearg.c: Streamline by invoking multibyte code only if needed.
468 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
469 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
470 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
471 invoke multibyte primitives.
473 2000-07-23 Jim Meyering <meyering@lucent.com>
475 * basename.c (base_name): Add an assertion.
477 2000-07-15 Bruno Haible <clisp.cons.org>
479 * quotearg.c: When the system forces us to redefine mbstate_t,
480 shadow its mbsinit function.
482 2000-07-16 Bruno Haible <haible@clisp.cons.org>
484 * mbswidth.h: New file.
485 * mbswidth.c: New file.
486 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
487 (noinst_HEADERS): Add mbswidth.h.
489 2000-07-17 Bruno Haible <haible@clisp.cons.org>
491 * config.charset: Add support for FreeBSD. Improve support for HP-UX
494 2000-07-15 Jim Meyering <meyering@lucent.com>
496 * makepath.c: Include quote.h.
497 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
498 corresponding argument in a `quote (...)' call.
499 Give better diagnostics.
501 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
502 (noinst_HEADERS): Add quote.h.
504 * quote.c (quote, quote_n): New file. Two functions taken verbatim
505 from tar's src/misc.c.
506 * quote.h: New file. Prototypes for same.
508 2000-07-10 Paul Eggert <eggert@twinsun.com>
510 From a suggestion by Bruno Haible.
511 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
512 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
513 to decide whether to define the BeOS workaround macro;
514 this adjusts to the change to AC_MBSTATE_T.
516 2000-07-13 Paul Eggert <eggert@twinsun.com>
518 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
520 * quotearg.c: (quoting_style_args, quoting_style_vals,
521 quotearg_buffer_restyled): Add support for
522 clocale_quoting_style. Undo previous change to
523 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
524 and "{RIGHT QUOTATION MARK}" msgids.
526 2000-07-05 Paul Eggert <eggert@twinsun.com>
528 The old behavior of quoting `like this' doesn't look good with
529 newer, ISO-style fonts. See:
530 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
532 Instead, quote "like this" by default. Let the translator
533 tailor the locale-specific quoting behavior by providing
534 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
536 * quotearg.c (N_): New macro.
537 (gettext_default): New function.
538 (quotearg_buffer_restyled): Use
539 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
540 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
542 2000-07-09 Jim Meyering <meyering@lucent.com>
544 * Most files: Update copyright dates to include 2000.
546 2000-07-08 Jim Meyering <meyering@lucent.com>
548 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
550 (xgethostname): Remove now-unnecessary #ifdef.
551 Move declaration of `err' into loop where it's used.
553 2000-07-05 Bruno Haible <haible@clisp.cons.org>
555 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
556 by allocating a larger buffer. Test the gethostname return value for
557 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
558 returns an error and ENAMETOOLONG isn't defined.
560 2000-07-05 Paul Eggert <eggert@twinsun.com>
561 and Bruno Haible <haible@clisp.cons.org>
563 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
565 2000-07-05 Bruno Haible <haible@clisp.cons.org>
567 * quotearg.c (struct quoting_options): Simplify quote_these_too
570 2000-07-03 Jim Meyering <meyering@lucent.com>
572 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
573 Reported by Bruno Haible.
575 2000-07-04 Jim Meyering <meyering@lucent.com>
577 * quotearg.c: Make inclusion of <wchar.h> independent of whether
578 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
581 2000-07-03 Paul Eggert <eggert@twinsun.com>
582 and Bruno Haible <haible@clisp.cons.org>
584 * quotearg.c (mbrtowc):
585 Assign to *pwc, and return 1 only if result is nonzero.
586 (iswprint): Use ISPRINT when substituting our own mbrtowc.
588 2000-07-03 Jim Meyering <meyering@lucent.com>
590 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
591 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
594 2000-07-02 Jim Meyering <meyering@lucent.com>
596 * quotearg.c (mbstate_t): Don't define here.
598 2000-07-02 Jim Meyering <meyering@lucent.com>
600 * nanosleep.c (SIGCONT): Define if not already defined.
602 2000-06-17 Bruno Haible <haible@clisp.cons.org>
604 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
605 per change in ../m4/ls-mntd-fs.m4.
606 (read_filesystem_list): Ignore symbolic links.
608 2000-06-29 Jim Meyering <meyering@lucent.com>
610 * same.c: Include <string.h> or <strings.h>, as appropriate,
611 for declaration of strcmp.
613 * long-options.c: Include <stdlib.h>, for declaration of exit.
615 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
616 Avoid warning by casting result to `char *' to remove `const'.
618 2000-06-17 Bruno Haible <haible@clisp.cons.org>
620 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
622 2000-06-26 Paul Eggert <eggert@twinsun.com>
624 savedir now sets errno on failure and invokes xmalloc to get memory.
625 Fix a couple of other minor bugs while we're at it.
627 * savedir.c (<unistd.h>): Do not include; there's no need.
628 (NAMLEN): Remove macro.
629 (malloc, realloc): Remove decls.
631 ("xalloc.h"): Include.
632 (NAME_SIZE_DEFAULT): New macro.
633 (savedir): Use xmalloc / xrealloc to allocate memory.
634 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
635 Skip "" directory entries.
636 Use strlen to calculate directory entry length, since the old method
637 is rarely used these days and isn't worth supporting.
638 Don't use a pointer after freeing it.
639 Check for integer overflow when calculating allocation size.
640 Use memcpy to copy entries, instead of stpcpy.
641 Set errno properly when returning NULL.
642 Check for readdir error.
644 2000-06-26 Jim Meyering <meyering@lucent.com>
646 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
648 2000-06-17 Bruno Haible <haible@clisp.cons.org>
650 * getusershell.c (xmalloc, xrealloc): Remove functions.
652 Don't include <stdlib.h>. Don't declare malloc, realloc.
654 2000-06-23 Bruno Haible <haible@clisp.cons.org>
656 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
658 2000-06-24 Jim Meyering <meyering@lucent.com>
660 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
662 2000-06-21 Jim Meyering <meyering@lucent.com>
664 * getpass.c: New file, from Bruno Haible. Required for BeOS.
666 2000-06-19 Paul Eggert <eggert@twinsun.com>
668 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
669 (mbrtowc, mbstate_t): Define substitutes if
670 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
671 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
672 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
674 2000-06-17 Bruno Haible <haible@clisp.cons.org>
676 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
677 than 1024, return a memory chunk of least possible size, instead
678 of size PATH_MAX + 2. In the loop, increment the size proportionally.
679 Use free/xmalloc instead of xrealloc to avoid copying for very long
682 2000-06-17 Bruno Haible <haible@clisp.cons.org>
684 * canon-host.c (canon_host): Use malloc and memcpy to copy an
685 address, not strdup. Include <stdlib.h> and don't declare free().
687 2000-06-17 Bruno Haible <haible@clisp.cons.org>
689 * path-concat.c (path_concat): Don't access dir[-1] if dir is
692 2000-06-21 Jim Meyering <meyering@lucent.com>
694 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
695 (noinst_HEADERS): Add getstr.h.
697 * getline.c (getstr): Move into a separate file.
698 * getstr.c (getstr): New file, extracted from getline.c, with
699 the following changes: new parameter, delim2; both delim[12]
700 parameters have type `int', not `char'. The latter would lose
701 with 8-bit delimiters.
702 * getstr.h: New file.
704 2000-06-19 Jim Meyering <meyering@lucent.com>
706 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
708 2000-06-18 Jim Meyering <meyering@lucent.com>
710 * mkdir.c: Remove file, due mainly to copyright incompatibility.
711 Besides, these days every porting target provides a mkdir function.
713 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
714 (this snippet comes from src/system.h).
716 2000-06-15 Paul Eggert <eggert@twinsun.com>
718 * human.c (adjust_value): New function.
719 (human_readable_inexact): Apply rounding style even when
720 printing approximate values.
722 2000-06-14 Paul Eggert <eggert@twinsun.com>
724 * human.c (human_readable_inexact): Allow an input block
725 size that is not a multiple of the output block size, and vice versa.
726 Reported by Piergiorgio Sartor.
728 2000-06-14 Paul Eggert <eggert@twinsun.com>
730 * getdate.y (get_date): Apply relative times after time
731 zone indicator, not before. Reported by Todd A. Jacobs.
733 2000-06-13 Jim Meyering <meyering@lucent.com>
735 * Makefile.am (all-local): Depend on lstat.c and stat.c.
737 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
739 2000-06-12 Paul Eggert <eggert@twinsun.com>
741 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
743 2000-06-04 Paul Eggert <eggert@twinsun.com>
745 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
747 2000-06-04 Jim Meyering <meyering@lucent.com>
749 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
750 SunOS4.1.4 for which gid_t is an unsigned type.
752 2000-06-03 Jim Meyering <meyering@lucent.com>
754 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
756 2000-05-26 Bruno Haible <haible@clisp.cons.org>
758 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
759 newer, don't install charset.alias.
760 * config.charset: Change the Linux/glibc rules so they become empty
761 on glibc-2.1 or newer.
763 2000-06-02 Jim Meyering <meyering@lucent.com>
765 * mountlist.c: Back out last change. Instead, do this...
766 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
767 member using the same `ignore'-testing code.
768 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
772 2000-05-29 Jim Meyering <meyering@lucent.com>
774 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
775 with the `ignore' attribute. Based on a patch from Mark D. Roth.
777 2000-05-22 Jim Meyering <meyering@lucent.com>
779 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
781 2000-05-18 Jim Meyering <meyering@lucent.com>
783 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
784 back, too, since it may have been modified by allocate_entry.
785 (hash_delete): Rewrite to use neither the assignment operator
786 nor the comma operator in an if-expression.
788 2000-05-15 Paul Eggert <eggert@twinsun.com>
791 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
792 Remove; no longer needed.
793 "quotearg.h": Add include.
794 (file_name): Do not bother to explicitly initialize to NULL; it's less
795 efficient on some hosts.
796 (close_stdout_status): Remove test as to whether stdout was already
797 closed; it breaks for the case "echo x | sort >&-".
798 Quote file name colons.
799 Do not assume that _("write error") lacks format strings.
801 2000-05-15 Jim Meyering <meyering@lucent.com>
803 * version-etc.c (version_etc_copyright): Update the copyright string
804 used in all --version output.
806 2000-05-14 Jim Meyering <meyering@lucent.com>
808 * closeout.c (close_stdout_set_file_name): New function.
809 (close_stdout_status): Use new file-scoped global.
810 Return right away if fstat says the stdout file descriptor is invalid.
811 * closeout.h (close_stdout_set_file_name): Declare.
813 2000-05-10 Jim Meyering <meyering@lucent.com>
815 * closeout.c [default_exit_status]: New file-scoped variable.
816 (close_stdout_set_status): New function.
817 * closeout.h (close_stdout_set_status): Declare.
819 2000-05-08 Jim Meyering <meyering@lucent.com>
821 * long-options.c: Don't include closeout.h.
822 (parse_long_options): Don't call close_stdout for --version.
824 2000-05-06 Jim Meyering <meyering@lucent.com>
826 * strnlen.c: Undefine __strnlen and strnlen.
827 [!weak_alias]: Define __strnlen to strnlen.
829 * atexit.c: New file, from libiberty.
831 2000-05-06 Jim Meyering <meyering@lucent.com>
833 * closeout.c (close_stdout_status): Also check for errors on the
836 2000-05-05 Bruno Haible <haible@clisp.cons.org>
838 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
839 instead of xmalloc, xrealloc, path_concat.
840 (locale_charset): Treat empty environment variables as absent.
841 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
843 2000-05-04 Jim Meyering <meyering@lucent.com>
845 * getopt.c: Update from glibc.
846 * obstack.c: Likewise.
847 * obstack.h: Likewise.
848 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
851 * strndup.c: Likewise.
852 * strnlen.c: New file, from glibc.
854 2000-05-01 Jim Meyering <meyering@lucent.com>
856 * full-write.c (full_write): Remove `FIXME' part of comment.
858 2000-04-29 Jim Meyering <meyering@lucent.com>
860 * path-concat.c: Declare strdup only if it's not defined.
861 * canon-host.c: Likewise.
863 2000-04-28 Jim Meyering <meyering@lucent.com>
865 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
866 redefinition warning on some systems (HPUX). Otherwise, regex.h is
867 included first, then limits.h is included by locale.h by libintl.h.
868 From John David Anglin.
870 2000-04-25 Jim Meyering <meyering@lucent.com>
872 * makepath.c (S_IRWXUGO): Define.
873 (make_path): Always perform explicit chmod if MODE specifies any
874 of the `special' permission bits. Prompted by a bug report against
875 install from Mate Wierdl and Joost van Baal.
877 2000-04-18 Jim Meyering <meyering@lucent.com>
881 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
882 getpagesize. For BeOS. Based on a patch from Bruno Haible.
884 2000-04-17 Jim Meyering <meyering@lucent.com>
886 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
887 the definition of it to rpl_strftime also defined-away the system's
890 2000-04-15 Jim Meyering <meyering@lucent.com>
892 Use `C' to denote so-called `contiguous' files, the same way
894 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
895 (ftypelet): Use S_ISCTG.
896 From Michael Deutschmann.
898 2000-04-14 Jim Meyering <meyering@lucent.com>
900 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
902 2000-04-08 Jim Meyering <meyering@lucent.com>
904 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
905 names don't conflict. Reported by Eli Zaretskii.
907 2000-03-28 Bruno Haible <haible@clisp.cons.org>
909 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
910 bug. Deal with the different error behavior of Irix iconv.
912 2000-04-07 Jim Meyering <meyering@lucent.com>
914 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
915 to work around system header problems on AIX 3.2.5. From Bruno Haible.
917 2000-04-05 Jim Meyering <meyering@lucent.com>
919 Portability tweaks required for ultrix4.3.
920 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
921 * readutmp.c: Include sys/types.h before sys/stat.h.
922 * canon-host.c: Declare strdup.
923 * path-concat.c: Likewise.
924 From John David Anglin.
926 2000-04-04 Jim Meyering <meyering@lucent.com>
928 Be more DOS 8.3-friendly.
929 * ref-add.sin: Renamed from ref-add.sed.in.
930 * ref-del.sin: Renamed from ref-del.sed.in.
931 * Makefile.am: Reflect renaming.
932 Reported by Eli Zaretskii.
934 Use a temporary file name that won't clash with `charset.alias'
935 in the DOS 8.3 name space.
936 * Makefile.am (charset_tmp): Define.
937 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
938 (uninstall-local): Likewise.
939 Reported by Eli Zaretskii.
941 2000-03-29 Paul Eggert <eggert@twinsun.com>
943 * time/strftime.c (my_strftime): Make sure we call the system
944 strftime, not ourselves, when invoking the underlying strftime.
946 2000-03-24 Jim Meyering <meyering@lucent.com>
948 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
949 (charset_alias): Define.
950 (install-exec-local): Factor out common code.
951 (uninstall-local): Split lines longer than 80.
952 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
954 (.sed.in.sed): New rule. Don't redirect directly to $@.
955 (CLEANFILES): Add ref-add.sed and ref-del.sed.
957 2000-03-19 Bruno Haible <haible@clisp.cons.org>
959 * config.charset: Output a line containing "Packages using this file".
960 * ref-add.sed.in, ref-del.sed.in: New files.
961 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
962 ref-del.sed): New rules.
964 2000-03-17 Jim Meyering <meyering@lucent.com>
966 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
967 Otherwise, include <strings.h>
969 2000-03-17 Bruno Haible <haible@clisp.cons.org>
971 * unicodeio.c (utf8_wctomb): New function.
972 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
973 format instead of in UCS-4 with platform dependent endianness.
975 2000-03-07 Paul Eggert <eggert@twinsun.com>
977 * savedir.c (savedir): Work even if directory size is
978 negative; this can happen with some screwy NFS configurations.
980 2000-03-06 Jim Meyering <meyering@lucent.com>
982 * localcharset.c (get_charset_aliases): Don't try to free file_name
983 if it's NULL (because we ran out of memory). From Bruno Haible.
985 2000-03-05 Jim Meyering <meyering@lucent.com>
987 * localcharset.c ("path-concat.h"): Include.
988 (get_charset_aliases): Use path_concat instead of ANSI string
991 * unicodeio.h (PARAMS): Define.
992 Use it to guard prototype.
994 2000-03-04 Jim Meyering <meyering@lucent.com>
996 * Makefile.am (install-exec-local): Create $(libdir) before installing
998 (uninstall-local): Uncomment this rule so `make distcheck' works
1001 * unicodeio.c (<errno.h>): Include it.
1002 (errno): Declare if not defined.
1004 * localcharset.c: Add Bruno's comment justifying use of volatile.
1006 * config.charset: New version, incorporating remarks from a linux
1007 i18n mailing list. From Bruno Haible.
1009 2000-03-02 Jim Meyering <meyering@lucent.com>
1011 * Makefile.am (EXTRA_DIST): Add config.charset.
1013 2000-03-01 Jim Meyering <meyering@lucent.com>
1015 * localcharset.c: Guard some #includes with `#if HAVE_...'.
1016 * unicodeio.c: Likewise.
1018 2000-02-02 Bruno Haible <haible@clisp.cons.org>
1020 * config.charset: New file.
1021 * localcharset.c: New file.
1022 * unicodeio.h, unicodeio.c: New files.
1023 * Makefile.am (DEFS): Add -DLIBDIR=...
1024 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
1025 (noinst_HEADERS): Add unicodeio.h.
1026 (all-local, install-exec-local, charset.alias): New targets.
1028 2000-02-28 Paul Eggert <eggert@twinsun.com>
1030 * quotearg.c (ALERT_CHAR): New macro.
1031 (quotearg_buffer_restyled): Use it.
1033 2000-02-27 Jim Meyering <meyering@lucent.com>
1035 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
1036 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
1038 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
1039 not `#if STDC_HEADERS'.
1040 Declare malloc if needed.
1042 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
1043 now that autoconf always defines the HAVE_DECL_ symbols.
1044 * human.c: Likewise.
1046 * strtoumax.c: Likewise.
1048 * backupfile.c: Arrange for cpp to fail if the configure-time
1049 declaration check was not run.
1051 * human.c: Likewise.
1053 * strtoumax.c: Likewise.
1055 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
1056 then first look up the entire `.'-containing string as a login name.
1058 2000-02-18 Paul Eggert <eggert@twinsun.com>
1060 * getdate.y: Handle two-digit years with leading zeros correctly.
1061 (textint): New typedef.
1062 (parser_control): Member year changed from int to textint.
1064 (YYSTYPE): Removed; replaced by %union with int and textint members.
1065 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
1066 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
1067 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
1068 (tSNUMBER, tUNUMBER): Now of type <textintval>.
1069 (date, number, to_year): Use width of number in digits, not its value,
1070 to determine whether it's a 2-digit year, or a 2-digit time.
1071 (yylex): Store number of digits of numeric tokens.
1072 Reported by John Kendall.
1074 (parser_control): Changed from struct parser_control to typedef (for
1075 consistency). All uses changed.
1077 (tID): Removed; not used.
1078 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
1080 2000-02-14 Paul Eggert <eggert@twinsun.com>
1082 * getpagesize.h (getpagesize): Port to VMS for Alpha;
1083 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
1085 2000-02-12 Jim Meyering <meyering@lucent.com>
1087 * userspec.c (ISDIGIT): Define it.
1088 (isdigit): Remove definition.
1089 (is_number): Use ISDIGIT, not isdigit.
1090 <libintl.h>: Include.
1092 (parse_user_spec): Mark translatable strings.
1094 2000-02-10 Jim Meyering <meyering@lucent.com>
1096 With these changes, nanosleep.[ch] are finally enough like the other
1097 lib/* replacement files to compile on a few more losing systems.
1099 * nanosleep.h: Don't include config.h.
1100 Remove prototype from declaration of nanosleep.
1101 (PARAMS): Remove now-unneeded definition.
1102 * nanosleep.c: #undef nanosleep.
1103 (rpl_nanosleep): Rename from nanosleep.
1105 2000-02-03 Jim Meyering <meyering@lucent.com>
1107 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1108 rather than with `#if HAVE_UTMPNAME'.
1110 2000-02-01 Jim Meyering <meyering@lucent.com>
1112 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
1114 2000-01-31 Jim Meyering <meyering@lucent.com>
1116 * nanosleep.h (nanosleep): Guard declaration with
1117 `#if ! HAVE_DECL_NANOSLEEP'.
1118 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1119 the declaration in that vendor's sys/timers.h.
1120 Reported by Christian Krackowizer.
1122 * quotearg.c (ISASCII): Add #undef and move definition to follow
1123 inclusion of wctype.h to work around solaris2.6 namespace pollution.
1124 (ISPRINT): Likewise.
1125 Reported by Tom Tromey.
1127 2000-01-30 Jim Meyering <meyering@lucent.com>
1129 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1130 uses of ->ut_name. The latter doesn't work with new Linux header files
1131 where only utmpx.ut_user is declared.
1133 * readutmp.h (UT_USER): Define.
1135 2000-01-23 Jim Meyering <meyering@lucent.com>
1137 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1140 2000-01-22 Jim Meyering <meyering@lucent.com>
1142 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1143 [! HAVE_DECL_STRTOULL]: Declare strtoull.
1144 Required for some AIX systems. Reported by Christian Krackowizer.
1145 [TESTING] (main): New function.
1147 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
1148 * dirname.c (dir_name): Support for DOS-style file names with drive
1151 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1153 * strverscmp.c (ISDIGIT): Define.
1154 (strverscmp): Use ISDIGIT, not isdigit.
1156 2000-01-17 Paul Eggert <eggert@twinsun.com>
1158 * nanosleep.c (nanosleep):
1159 Don't use SA_INTERRUPT to decide whether to call sigaction, as
1160 POSIX.1 doesn't require SA_INTERRUPT and some systems
1161 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
1162 it's been part of POSIX.1 since day 1 (in 1988).
1164 2000-01-17 Jim Meyering <meyering@lucent.com>
1166 * interlock: Remove unused file. Reported by François Pinard.
1168 2000-01-16 Paul Eggert <eggert@twinsun.com>
1170 * quotearg.c (quotearg_buffer_restyled): Do not quote
1171 alert, backslash, formfeed, and vertical tab unnecessarily in
1172 shell quoting style.
1175 version-control: never