1 2001-01-03 Jim Meyering <meyering@lucent.com>
3 * unicodeio.c (print_unicode_char): Remove `const' from declaration of
4 local `inptr' to avoid warning with some system declarations of iconv.
6 2000-12-29 Paul Eggert <eggert@twinsun.com>
8 * lib/modechange.c: Do not assume that mode_t uses the
9 traditional octal encoding. E.g. "chmod 1 FOO" should set
10 the other-execute bit of FOO even if S_IXOTH != 1.
12 (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
13 WOTH, XOTH, ALLM): New macros.
14 (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
15 S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
17 (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
18 (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
20 No need to use uintmax_t; unsigned long is long enough.
21 Don't bother to get suffix since we don't use it.
23 2000-12-24 Jim Meyering <meyering@lucent.com>
25 * hash.c (is_prime): Return explicit boolean values.
26 (hash_get_first): Return NULL to appease Irix5.6's 89.
27 Reported by Nelson Beebe.
29 2000-10-31 Bruno Haible <haible@clisp.cons.org>
31 * localcharset.c (locale_charset): Add support for Win32.
33 2000-12-18 Paul Eggert <eggert@twinsun.com>
35 * physmem.h, physmem.c: New files.
37 * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
38 (noinst_HEADERS): Add physmem.h.
40 * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
41 't' for compatibility with Solaris 8 sort.
43 2000-12-18 Bruno Haible <haible@clisp.cons.org>
45 * config.charset: Add support for BeOS.
47 2000-12-16 Jim Meyering <meyering@lucent.com>
49 * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
50 SHELLS_FILE to a file name that's useful on djgpp systems.
52 (ADDITIONAL_DEFAULT_SHELLS): Define.
53 (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
54 Based mostly on a patch from Prashant TR.
56 2000-12-16 Jim Meyering <meyering@lucent.com>
58 This bug had a serious impact on chown: `chown N:M FILE' (for integer
59 N and M) would have treated it like `chown N:N FILE'.
61 * userspec.c (parse_user_spec): Fix typo: s/u/g/.
63 2000-10-31 Bruno Haible <haible@clisp.cons.org>
65 * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
66 CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
67 to the list of canonical encodings. Rename EUC-CN to GB2312.
69 2000-12-08 Andreas Schwab <schwab@suse.de>
71 * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
72 invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
74 2000-12-07 Jim Meyering <meyering@lucent.com>
76 * stripslash.c (ISSLASH): Define.
77 (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
80 * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
81 (dir_name_r): Declare this function as static.
82 [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
83 manifest itself on a name containing a mix of slashes and
85 Make this function work with names starting with a DOS-style
86 drive letter and colon prefix.
87 (dir_name): Append `.' if necessary.
88 Based mostly on patches from Prashant TR and Eli Zaretskii.
90 * dirname.h (dir_name_r): Remove prototype.
92 2000-12-05 Jim Meyering <meyering@lucent.com>
94 * dirname.c (dir_name_r): Add `const' in a few local declarations.
96 2000-12-04 Jim Meyering <meyering@lucent.com>
98 * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
99 Also include memory.h, stdlib.h, unistd.h if appropriate.
100 Reported by Andreas Jaeger (conflicting declaration of malloc).
102 2000-12-02 Jim Meyering <meyering@lucent.com>
104 * closeout.h: Make idempotent, to avoid some obscure warnings.
106 2000-12-01 Paul Eggert <eggert@twinsun.com>
108 * lib/memrchr.c: Include <config.h> before any system include file.
110 2000-11-29 Paul Eggert <eggert@twinsun.com>
112 * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
114 2000-11-26 Jim Meyering <meyering@lucent.com>
116 * memcoll.c: Include sys/types.h. From Werner Almesberger.
118 2000-11-22 Paul Eggert <eggert@twinsun.com>
120 * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
121 size of (size_t) -1; it's not portable.
123 2000-11-17 Akim Demaille <akim@epita.fr>
125 * lib/obstack.h: Formatting changes.
126 (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
127 prevent type checking.
128 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
129 cast the value to (void *): assigning a `foo *' to a `void *'
131 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
133 2000-11-17 Jim Meyering <meyering@lucent.com>
135 * strstr.c: Update from GNU libc.
137 2000-11-16 Jim Meyering <meyering@lucent.com>
139 * strverscmp.c: Incorporate weak-alias-related changes from glibc.
141 2000-11-11 Jim Meyering <meyering@lucent.com>
143 * error.c: Add a couple #includes, merging from GNU libc version.
145 2000-11-10 Jim Meyering <meyering@lucent.com>
147 * obstack.h: Update from GNU libc.
148 * obstack.c: Likewise.
150 2000-11-06 Paul Eggert <eggert@twinsun.com>
152 * getusershell.c (setusershell): Use rewind rather than
153 fseek/fseeko, to avoid configuration hassles with fseeko.
154 Don't bother opening SHELLS_FILE if shellstream is NULL;
157 2000-11-05 Jim Meyering <meyering@lucent.com>
159 * makepath.h (make_dir): Declare.
160 * makepath.c (make_dir): Remove `static' attribute.
163 2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr>
165 * hash.c (hash_get_next): Fix a thinko: when ENTRY is the
166 last one in a bucket, advance to the next bucket.
168 2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg>
170 * fnmatch.c: Do not comment out all the code if we are using
171 the GNU C library, because in some cases we are replacing buggy
172 code in the GNU C library itself.
174 2000-10-30 Paul Eggert <eggert@twinsun.com>
176 * error.h, getline.h, modechange.h:
177 Remove "2000" from Copyright line, as the file hasn't been
178 changed this year other than in the copyright notice.
180 * xalloc.h: Add "2000" to Copyright line, as this file
181 was changed this year.
183 2000-10-30 Paul Eggert <eggert@twinsun.com>
185 * fnmatch.c (FOLD): Do not assume that characters are unsigned.
186 (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
187 e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
189 2000-10-29 Greg Louis <glouis@dynamicro.on.ca>
191 * regex.h (__restrict_arr): Move definition out of #ifndef block.
192 Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
193 doesn't define __restrict_arr.
195 2000-10-29 Jim Meyering <meyering@lucent.com>
197 * xstat.in: Fix grammar in comment.
199 2000-10-28 Jim Meyering <meyering@lucent.com>
201 * memchr.c: Update from libc.
202 Adjust for portability:
203 [HAVE_STDLIB_H]: Include stdlib.h.
204 [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
206 [!weak_alias]: Define __memchr to memchr.
208 * regex.c: Update from libc.
210 * getopt1.c: Likewise.
211 * memcmp.c: Likewise.
213 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
214 Avoid using fseek, when possible -- it's broken by design.
215 Patch by Ulrich Drepper.
217 2000-10-26 Jim Meyering <meyering@lucent.com>
219 * strftime.c: Update from libc.
221 2000-10-25 Jim Meyering <meyering@lucent.com>
223 * obstack.c: Update from libc.
225 2000-10-23 Jim Meyering <meyering@lucent.com>
227 * hard-locale.c (hard_locale): Revert last change -- it was simply
228 wrong. That set_locale call must not have any side effects.
231 2000-10-22 Jim Meyering <meyering@lucent.com>
233 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
234 [CYCLIC]: Remove now-unused definition.
236 * save-cwd.c (O_DIRECTORY): Define, if needed.
237 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
238 Suggestion from Ulrich Drepper.
240 2000-10-21 Jim Meyering <meyering@lucent.com>
242 * dirname.c (dir_name_r): New function, factored out of dir_name.
243 (dir_name): Use dir_name_r.
244 * dirname.h (dir_name_r): Declare it.
246 2000-10-21 Jim Meyering <meyering@lucent.com>
248 * dirname.c (memrchr): Declare if necessary.
249 (dir_name): Remove the restriction that there be no
250 trailing slashes. Now, this code skips past them, effectively
252 [TEST_DIRNAME] (main): New unit tests.
254 * memrchr.c: New file from GNU libc.
255 Undef __memrchr, too.
256 [!weak_alias]: Define __memrchr to memrchr.
257 Guard weak_alias use with `#ifdef weak_alias'.
259 2000-10-17 Jim Meyering <meyering@lucent.com>
261 * quote.h (PARAMS): Define and use.
262 Reported by Akim Demaille.
264 * getopt.c: Update from libc.
266 2000-10-16 Jim Meyering <meyering@lucent.com>
268 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
271 2000-09-25 Jim Meyering <meyering@lucent.com>
273 * md5.h (rol): Define (from GnuPG).
275 * sha.c: Give credit (GnuPG) where due.
276 (M): Use rol rather than open-coding it.
279 2000-09-21 Jim Meyering <meyering@lucent.com>
281 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
282 Reported by Michael Stone.
284 2000-09-20 Jim Meyering <meyering@lucent.com>
286 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
287 (noinst_HEADERS): Add sha.h.
288 Based on code from Scott G. Miller and from GnuPG.
290 2000-09-15 Jim Meyering <meyering@lucent.com>
292 * regex.c: Update from libc.
294 2000-09-10 Jim Meyering <meyering@lucent.com>
296 * getopt.c (_getopt_internal): Update from glibc.
298 2000-09-09 Jim Meyering <meyering@lucent.com>
300 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
301 think it should be used as a general replacement for isascii.
302 * fnmatch.c: Likewise.
303 * mbswidth.c: Likewise
307 * userspec.c: Include sys/param.h and limits.h.
309 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
310 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
311 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
312 UID, GID. Check range.
314 2000-09-06 Jim Meyering <meyering@lucent.com>
316 * getopt.c (_getopt_internal): Update from glibc.
318 2000-08-30 Jim Meyering <meyering@lucent.com>
320 * strftime.c: Merge in changes from GNU libc.
322 2000-08-26 Jim Meyering <meyering@lucent.com>
324 * closeout.c: Include "__fpending.h".
325 (close_stdout_status): Return right away if there's nothing to flush.
327 * Makefile.am (noinst_HEADERS): Add __fpending.h.
328 * __fpending.c: New file.
329 * __fpending.h: New file.
331 2000-08-07 Paul Eggert <eggert@twinsun.com>
333 Standardize on "memory exhausted" instead of "Memory exhausted"
334 or "virtual memory exhausted".
335 * obstack.c (print_and_abort): Use "memory exhausted", not
336 "virtual memory exhausted".
337 * same.c (same_name): Invoke xalloc_die instead of printing
339 * userspec.c (parse_user_spec): Likewise.
340 * bumpalloc.h: comment fix
341 * same.c, userspec.c: Include xalloc.h.
343 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
344 not char *const and pointing to a constant array.
345 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
346 (xrealloc): Comment fix.
348 * userspec.c (parse_user_spec):
349 Don't translate a message until just before returning,
350 to avoid unnecessary translation.
352 2000-08-07 Jim Meyering <meyering@lucent.com>
354 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
355 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
356 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
357 getgroups.c, gethostname.c, getopt.h, group-member.c,
358 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
359 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
360 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
361 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
362 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
363 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
364 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
365 yesno.c: Back out Copyright date changes for each file with no change
366 this year. This eases coordination with other programs using the same
367 source code modules. From Paul Eggert.
369 2000-08-03 Greg McGary <greg@mcgary.org>
371 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
372 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
373 (EXTEND_BUFFER): Use them.
375 2000-08-01 Jim Meyering <meyering@lucent.com>
377 * dirname.c (ISSLASH): Define.
378 (BACKSLASH_IS_PATH_SEPARATOR): Define.
379 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
380 both `\' and `/' may be use as path separators.
381 Based on a patch from Prashant TR.
383 2000-07-31 Paul Eggert <eggert@twinsun.com>
385 * quotearg.c (quotearg_n_options): Don't make the initial
386 slot vector a constant, since it might get modified.
388 2000-07-31 Jim Meyering <meyering@lucent.com>
390 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
391 * obstack.c (print_and_abort): Likewise.
393 2000-07-30 Paul Eggert <eggert@twinsun.com>
395 * quotearg.c (quotearg_n_options): Preallocate a slot 0
396 buffer, so that the caller can always quote one small
397 component of a "memory exhausted" message in slot 0.
398 From a suggestion by Jim Meyering.
400 2000-07-30 Jim Meyering <meyering@lucent.com>
402 * makepath.c (make_path): Quote the other instance, too.
404 * quotearg.c (N_STATIC_SLOTVECS): Define.
405 (STATIC_BUF_SIZE): Define.
406 (quotearg_n_options): Use only statically allocated storage when
407 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
408 than STATIC_BUF_SIZE.
410 2000-07-29 Jim Meyering <meyering@lucent.com>
412 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
413 * dirname.c (dir_name): Likewise.
415 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
417 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
418 (dir_name): Assert that there are no trailing slashes.
420 2000-07-18 Bruno Haible <haible@clisp.cons.org>
422 * mbswidth.h (mbswidth): Add a flags argument.
423 (mbswidth): New declaration.
424 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
425 * mbswidth.c (mbswidth): Add a flags argument.
426 (mbsnwidth): New function.
428 2000-07-24 Jim Meyering <meyering@lucent.com>
430 * mbswidth.c: Remove useless #else. From Bruno Haible.
432 2000-07-23 Paul Eggert <eggert@twinsun.com>
434 * mbswidth.c (_XOPEN_SOURCE):
435 Don't define; this causes problems on Solaris 7.
436 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
438 2000-07-23 Paul Eggert <eggert@twinsun.com>
441 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
442 so that mbstate_t is always defined.
444 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
445 be 1 in at least one GCC installation, and this configuration
446 error is likely to be common. Ignoring MB_LEN_MAX hurts
447 performance on hosts that have mbrtowc but have only unibyte
448 locales, but I assume these hosts are rare.
450 2000-07-23 Paul Eggert <eggert@twinsun.com>
452 * quotearg.c: Streamline by invoking multibyte code only if needed.
453 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
454 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
455 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
456 invoke multibyte primitives.
458 2000-07-23 Jim Meyering <meyering@lucent.com>
460 * basename.c (base_name): Add an assertion.
462 2000-07-15 Bruno Haible <clisp.cons.org>
464 * quotearg.c: When the system forces us to redefine mbstate_t,
465 shadow its mbsinit function.
467 2000-07-16 Bruno Haible <haible@clisp.cons.org>
469 * mbswidth.h: New file.
470 * mbswidth.c: New file.
471 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
472 (noinst_HEADERS): Add mbswidth.h.
474 2000-07-17 Bruno Haible <haible@clisp.cons.org>
476 * config.charset: Add support for FreeBSD. Improve support for HP-UX
479 2000-07-15 Jim Meyering <meyering@lucent.com>
481 * makepath.c: Include quote.h.
482 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
483 corresponding argument in a `quote (...)' call.
484 Give better diagnostics.
486 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
487 (noinst_HEADERS): Add quote.h.
489 * quote.c (quote, quote_n): New file. Two functions taken verbatim
490 from tar's src/misc.c.
491 * quote.h: New file. Prototypes for same.
493 2000-07-10 Paul Eggert <eggert@twinsun.com>
495 From a suggestion by Bruno Haible.
496 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
497 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
498 to decide whether to define the BeOS workaround macro;
499 this adjusts to the change to AC_MBSTATE_T.
501 2000-07-13 Paul Eggert <eggert@twinsun.com>
503 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
505 * quotearg.c: (quoting_style_args, quoting_style_vals,
506 quotearg_buffer_restyled): Add support for
507 clocale_quoting_style. Undo previous change to
508 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
509 and "{RIGHT QUOTATION MARK}" msgids.
511 2000-07-05 Paul Eggert <eggert@twinsun.com>
513 The old behavior of quoting `like this' doesn't look good with
514 newer, ISO-style fonts. See:
515 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
517 Instead, quote "like this" by default. Let the translator
518 tailor the locale-specific quoting behavior by providing
519 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
521 * quotearg.c (N_): New macro.
522 (gettext_default): New function.
523 (quotearg_buffer_restyled): Use
524 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
525 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
527 2000-07-09 Jim Meyering <meyering@lucent.com>
529 * Most files: Update copyright dates to include 2000.
531 2000-07-08 Jim Meyering <meyering@lucent.com>
533 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
535 (xgethostname): Remove now-unnecessary #ifdef.
536 Move declaration of `err' into loop where it's used.
538 2000-07-05 Bruno Haible <haible@clisp.cons.org>
540 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
541 by allocating a larger buffer. Test the gethostname return value for
542 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
543 returns an error and ENAMETOOLONG isn't defined.
545 2000-07-05 Paul Eggert <eggert@twinsun.com>
546 and Bruno Haible <haible@clisp.cons.org>
548 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
550 2000-07-05 Bruno Haible <haible@clisp.cons.org>
552 * quotearg.c (struct quoting_options): Simplify quote_these_too
555 2000-07-03 Jim Meyering <meyering@lucent.com>
557 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
558 Reported by Bruno Haible.
560 2000-07-04 Jim Meyering <meyering@lucent.com>
562 * quotearg.c: Make inclusion of <wchar.h> independent of whether
563 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
566 2000-07-03 Paul Eggert <eggert@twinsun.com>
567 and Bruno Haible <haible@clisp.cons.org>
569 * quotearg.c (mbrtowc):
570 Assign to *pwc, and return 1 only if result is nonzero.
571 (iswprint): Use ISPRINT when substituting our own mbrtowc.
573 2000-07-03 Jim Meyering <meyering@lucent.com>
575 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
576 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
579 2000-07-02 Jim Meyering <meyering@lucent.com>
581 * quotearg.c (mbstate_t): Don't define here.
583 2000-07-02 Jim Meyering <meyering@lucent.com>
585 * nanosleep.c (SIGCONT): Define if not already defined.
587 2000-06-17 Bruno Haible <haible@clisp.cons.org>
589 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
590 per change in ../m4/ls-mntd-fs.m4.
591 (read_filesystem_list): Ignore symbolic links.
593 2000-06-29 Jim Meyering <meyering@lucent.com>
595 * same.c: Include <string.h> or <strings.h>, as appropriate,
596 for declaration of strcmp.
598 * long-options.c: Include <stdlib.h>, for declaration of exit.
600 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
601 Avoid warning by casting result to `char *' to remove `const'.
603 2000-06-17 Bruno Haible <haible@clisp.cons.org>
605 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
607 2000-06-26 Paul Eggert <eggert@twinsun.com>
609 savedir now sets errno on failure and invokes xmalloc to get memory.
610 Fix a couple of other minor bugs while we're at it.
612 * savedir.c (<unistd.h>): Do not include; there's no need.
613 (NAMLEN): Remove macro.
614 (malloc, realloc): Remove decls.
616 ("xalloc.h"): Include.
617 (NAME_SIZE_DEFAULT): New macro.
618 (savedir): Use xmalloc / xrealloc to allocate memory.
619 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
620 Skip "" directory entries.
621 Use strlen to calculate directory entry length, since the old method
622 is rarely used these days and isn't worth supporting.
623 Don't use a pointer after freeing it.
624 Check for integer overflow when calculating allocation size.
625 Use memcpy to copy entries, instead of stpcpy.
626 Set errno properly when returning NULL.
627 Check for readdir error.
629 2000-06-26 Jim Meyering <meyering@lucent.com>
631 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
633 2000-06-17 Bruno Haible <haible@clisp.cons.org>
635 * getusershell.c (xmalloc, xrealloc): Remove functions.
637 Don't include <stdlib.h>. Don't declare malloc, realloc.
639 2000-06-23 Bruno Haible <haible@clisp.cons.org>
641 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
643 2000-06-24 Jim Meyering <meyering@lucent.com>
645 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
647 2000-06-21 Jim Meyering <meyering@lucent.com>
649 * getpass.c: New file, from Bruno Haible. Required for BeOS.
651 2000-06-19 Paul Eggert <eggert@twinsun.com>
653 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
654 (mbrtowc, mbstate_t): Define substitutes if
655 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
656 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
657 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
659 2000-06-17 Bruno Haible <haible@clisp.cons.org>
661 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
662 than 1024, return a memory chunk of least possible size, instead
663 of size PATH_MAX + 2. In the loop, increment the size proportionally.
664 Use free/xmalloc instead of xrealloc to avoid copying for very long
667 2000-06-17 Bruno Haible <haible@clisp.cons.org>
669 * canon-host.c (canon_host): Use malloc and memcpy to copy an
670 address, not strdup. Include <stdlib.h> and don't declare free().
672 2000-06-17 Bruno Haible <haible@clisp.cons.org>
674 * path-concat.c (path_concat): Don't access dir[-1] if dir is
677 2000-06-21 Jim Meyering <meyering@lucent.com>
679 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
680 (noinst_HEADERS): Add getstr.h.
682 * getline.c (getstr): Move into a separate file.
683 * getstr.c (getstr): New file, extracted from getline.c, with
684 the following changes: new parameter, delim2; both delim[12]
685 parameters have type `int', not `char'. The latter would lose
686 with 8-bit delimiters.
687 * getstr.h: New file.
689 2000-06-19 Jim Meyering <meyering@lucent.com>
691 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
693 2000-06-18 Jim Meyering <meyering@lucent.com>
695 * mkdir.c: Remove file, due mainly to copyright incompatibility.
696 Besides, these days every porting target provides a mkdir function.
698 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
699 (this snippet comes from src/system.h).
701 2000-06-15 Paul Eggert <eggert@twinsun.com>
703 * human.c (adjust_value): New function.
704 (human_readable_inexact): Apply rounding style even when
705 printing approximate values.
707 2000-06-14 Paul Eggert <eggert@twinsun.com>
709 * human.c (human_readable_inexact): Allow an input block
710 size that is not a multiple of the output block size, and vice versa.
711 Reported by Piergiorgio Sartor.
713 2000-06-14 Paul Eggert <eggert@twinsun.com>
715 * getdate.y (get_date): Apply relative times after time
716 zone indicator, not before. Reported by Todd A. Jacobs.
718 2000-06-13 Jim Meyering <meyering@lucent.com>
720 * Makefile.am (all-local): Depend on lstat.c and stat.c.
722 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
724 2000-06-12 Paul Eggert <eggert@twinsun.com>
726 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
728 2000-06-04 Paul Eggert <eggert@twinsun.com>
730 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
732 2000-06-04 Jim Meyering <meyering@lucent.com>
734 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
735 SunOS4.1.4 for which gid_t is an unsigned type.
737 2000-06-03 Jim Meyering <meyering@lucent.com>
739 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
741 2000-05-26 Bruno Haible <haible@clisp.cons.org>
743 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
744 newer, don't install charset.alias.
745 * config.charset: Change the Linux/glibc rules so they become empty
746 on glibc-2.1 or newer.
748 2000-06-02 Jim Meyering <meyering@lucent.com>
750 * mountlist.c: Back out last change. Instead, do this...
751 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
752 member using the same `ignore'-testing code.
753 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
757 2000-05-29 Jim Meyering <meyering@lucent.com>
759 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
760 with the `ignore' attribute. Based on a patch from Mark D. Roth.
762 2000-05-22 Jim Meyering <meyering@lucent.com>
764 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
766 2000-05-18 Jim Meyering <meyering@lucent.com>
768 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
769 back, too, since it may have been modified by allocate_entry.
770 (hash_delete): Rewrite to use neither the assignment operator
771 nor the comma operator in an if-expression.
773 2000-05-15 Paul Eggert <eggert@twinsun.com>
776 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
777 Remove; no longer needed.
778 "quotearg.h": Add include.
779 (file_name): Do not bother to explicitly initialize to NULL; it's less
780 efficient on some hosts.
781 (close_stdout_status): Remove test as to whether stdout was already
782 closed; it breaks for the case "echo x | sort >&-".
783 Quote file name colons.
784 Do not assume that _("write error") lacks format strings.
786 2000-05-15 Jim Meyering <meyering@lucent.com>
788 * version-etc.c (version_etc_copyright): Update the copyright string
789 used in all --version output.
791 2000-05-14 Jim Meyering <meyering@lucent.com>
793 * closeout.c (close_stdout_set_file_name): New function.
794 (close_stdout_status): Use new file-scoped global.
795 Return right away if fstat says the stdout file descriptor is invalid.
796 * closeout.h (close_stdout_set_file_name): Declare.
798 2000-05-10 Jim Meyering <meyering@lucent.com>
800 * closeout.c [default_exit_status]: New file-scoped variable.
801 (close_stdout_set_status): New function.
802 * closeout.h (close_stdout_set_status): Declare.
804 2000-05-08 Jim Meyering <meyering@lucent.com>
806 * long-options.c: Don't include closeout.h.
807 (parse_long_options): Don't call close_stdout for --version.
809 2000-05-06 Jim Meyering <meyering@lucent.com>
811 * strnlen.c: Undefine __strnlen and strnlen.
812 [!weak_alias]: Define __strnlen to strnlen.
814 * atexit.c: New file, from libiberty.
816 2000-05-06 Jim Meyering <meyering@lucent.com>
818 * closeout.c (close_stdout_status): Also check for errors on the
821 2000-05-05 Bruno Haible <haible@clisp.cons.org>
823 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
824 instead of xmalloc, xrealloc, path_concat.
825 (locale_charset): Treat empty environment variables as absent.
826 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
828 2000-05-04 Jim Meyering <meyering@lucent.com>
830 * getopt.c: Update from glibc.
831 * obstack.c: Likewise.
832 * obstack.h: Likewise.
833 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
836 * strndup.c: Likewise.
837 * strnlen.c: New file, from glibc.
839 2000-05-01 Jim Meyering <meyering@lucent.com>
841 * full-write.c (full_write): Remove `FIXME' part of comment.
843 2000-04-29 Jim Meyering <meyering@lucent.com>
845 * path-concat.c: Declare strdup only if it's not defined.
846 * canon-host.c: Likewise.
848 2000-04-28 Jim Meyering <meyering@lucent.com>
850 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
851 redefinition warning on some systems (HPUX). Otherwise, regex.h is
852 included first, then limits.h is included by locale.h by libintl.h.
853 From John David Anglin.
855 2000-04-25 Jim Meyering <meyering@lucent.com>
857 * makepath.c (S_IRWXUGO): Define.
858 (make_path): Always perform explicit chmod if MODE specifies any
859 of the `special' permission bits. Prompted by a bug report against
860 install from Mate Wierdl and Joost van Baal.
862 2000-04-18 Jim Meyering <meyering@lucent.com>
866 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
867 getpagesize. For BeOS. Based on a patch from Bruno Haible.
869 2000-04-17 Jim Meyering <meyering@lucent.com>
871 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
872 the definition of it to rpl_strftime also defined-away the system's
875 2000-04-15 Jim Meyering <meyering@lucent.com>
877 Use `C' to denote so-called `contiguous' files, the same way
879 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
880 (ftypelet): Use S_ISCTG.
881 From Michael Deutschmann.
883 2000-04-14 Jim Meyering <meyering@lucent.com>
885 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
887 2000-04-08 Jim Meyering <meyering@lucent.com>
889 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
890 names don't conflict. Reported by Eli Zaretskii.
892 2000-03-28 Bruno Haible <haible@clisp.cons.org>
894 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
895 bug. Deal with the different error behavior of Irix iconv.
897 2000-04-07 Jim Meyering <meyering@lucent.com>
899 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
900 to work around system header problems on AIX 3.2.5. From Bruno Haible.
902 2000-04-05 Jim Meyering <meyering@lucent.com>
904 Portability tweaks required for ultrix4.3.
905 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
906 * readutmp.c: Include sys/types.h before sys/stat.h.
907 * canon-host.c: Declare strdup.
908 * path-concat.c: Likewise.
909 From John David Anglin.
911 2000-04-04 Jim Meyering <meyering@lucent.com>
913 Be more DOS 8.3-friendly.
914 * ref-add.sin: Renamed from ref-add.sed.in.
915 * ref-del.sin: Renamed from ref-del.sed.in.
916 * Makefile.am: Reflect renaming.
917 Reported by Eli Zaretskii.
919 Use a temporary file name that won't clash with `charset.alias'
920 in the DOS 8.3 name space.
921 * Makefile.am (charset_tmp): Define.
922 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
923 (uninstall-local): Likewise.
924 Reported by Eli Zaretskii.
926 2000-03-29 Paul Eggert <eggert@twinsun.com>
928 * time/strftime.c (my_strftime): Make sure we call the system
929 strftime, not ourselves, when invoking the underlying strftime.
931 2000-03-24 Jim Meyering <meyering@lucent.com>
933 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
934 (charset_alias): Define.
935 (install-exec-local): Factor out common code.
936 (uninstall-local): Split lines longer than 80.
937 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
939 (.sed.in.sed): New rule. Don't redirect directly to $@.
940 (CLEANFILES): Add ref-add.sed and ref-del.sed.
942 2000-03-19 Bruno Haible <haible@clisp.cons.org>
944 * config.charset: Output a line containing "Packages using this file".
945 * ref-add.sed.in, ref-del.sed.in: New files.
946 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
947 ref-del.sed): New rules.
949 2000-03-17 Jim Meyering <meyering@lucent.com>
951 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
952 Otherwise, include <strings.h>
954 2000-03-17 Bruno Haible <haible@clisp.cons.org>
956 * unicodeio.c (utf8_wctomb): New function.
957 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
958 format instead of in UCS-4 with platform dependent endianness.
960 2000-03-07 Paul Eggert <eggert@twinsun.com>
962 * savedir.c (savedir): Work even if directory size is
963 negative; this can happen with some screwy NFS configurations.
965 2000-03-06 Jim Meyering <meyering@lucent.com>
967 * localcharset.c (get_charset_aliases): Don't try to free file_name
968 if it's NULL (because we ran out of memory). From Bruno Haible.
970 2000-03-05 Jim Meyering <meyering@lucent.com>
972 * localcharset.c ("path-concat.h"): Include.
973 (get_charset_aliases): Use path_concat instead of ANSI string
976 * unicodeio.h (PARAMS): Define.
977 Use it to guard prototype.
979 2000-03-04 Jim Meyering <meyering@lucent.com>
981 * Makefile.am (install-exec-local): Create $(libdir) before installing
983 (uninstall-local): Uncomment this rule so `make distcheck' works
986 * unicodeio.c (<errno.h>): Include it.
987 (errno): Declare if not defined.
989 * localcharset.c: Add Bruno's comment justifying use of volatile.
991 * config.charset: New version, incorporating remarks from a linux
992 i18n mailing list. From Bruno Haible.
994 2000-03-02 Jim Meyering <meyering@lucent.com>
996 * Makefile.am (EXTRA_DIST): Add config.charset.
998 2000-03-01 Jim Meyering <meyering@lucent.com>
1000 * localcharset.c: Guard some #includes with `#if HAVE_...'.
1001 * unicodeio.c: Likewise.
1003 2000-02-02 Bruno Haible <haible@clisp.cons.org>
1005 * config.charset: New file.
1006 * localcharset.c: New file.
1007 * unicodeio.h, unicodeio.c: New files.
1008 * Makefile.am (DEFS): Add -DLIBDIR=...
1009 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
1010 (noinst_HEADERS): Add unicodeio.h.
1011 (all-local, install-exec-local, charset.alias): New targets.
1013 2000-02-28 Paul Eggert <eggert@twinsun.com>
1015 * quotearg.c (ALERT_CHAR): New macro.
1016 (quotearg_buffer_restyled): Use it.
1018 2000-02-27 Jim Meyering <meyering@lucent.com>
1020 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
1021 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
1023 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
1024 not `#if STDC_HEADERS'.
1025 Declare malloc if needed.
1027 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
1028 now that autoconf always defines the HAVE_DECL_ symbols.
1029 * human.c: Likewise.
1031 * strtoumax.c: Likewise.
1033 * backupfile.c: Arrange for cpp to fail if the configure-time
1034 declaration check was not run.
1036 * human.c: Likewise.
1038 * strtoumax.c: Likewise.
1040 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
1041 then first look up the entire `.'-containing string as a login name.
1043 2000-02-18 Paul Eggert <eggert@twinsun.com>
1045 * getdate.y: Handle two-digit years with leading zeros correctly.
1046 (textint): New typedef.
1047 (parser_control): Member year changed from int to textint.
1049 (YYSTYPE): Removed; replaced by %union with int and textint members.
1050 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
1051 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
1052 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
1053 (tSNUMBER, tUNUMBER): Now of type <textintval>.
1054 (date, number, to_year): Use width of number in digits, not its value,
1055 to determine whether it's a 2-digit year, or a 2-digit time.
1056 (yylex): Store number of digits of numeric tokens.
1057 Reported by John Kendall.
1059 (parser_control): Changed from struct parser_control to typedef (for
1060 consistency). All uses changed.
1062 (tID): Removed; not used.
1063 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
1065 2000-02-14 Paul Eggert <eggert@twinsun.com>
1067 * getpagesize.h (getpagesize): Port to VMS for Alpha;
1068 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
1070 2000-02-12 Jim Meyering <meyering@lucent.com>
1072 * userspec.c (ISDIGIT): Define it.
1073 (isdigit): Remove definition.
1074 (is_number): Use ISDIGIT, not isdigit.
1075 <libintl.h>: Include.
1077 (parse_user_spec): Mark translatable strings.
1079 2000-02-10 Jim Meyering <meyering@lucent.com>
1081 With these changes, nanosleep.[ch] are finally enough like the other
1082 lib/* replacement files to compile on a few more losing systems.
1084 * nanosleep.h: Don't include config.h.
1085 Remove prototype from declaration of nanosleep.
1086 (PARAMS): Remove now-unneeded definition.
1087 * nanosleep.c: #undef nanosleep.
1088 (rpl_nanosleep): Rename from nanosleep.
1090 2000-02-03 Jim Meyering <meyering@lucent.com>
1092 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1093 rather than with `#if HAVE_UTMPNAME'.
1095 2000-02-01 Jim Meyering <meyering@lucent.com>
1097 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
1099 2000-01-31 Jim Meyering <meyering@lucent.com>
1101 * nanosleep.h (nanosleep): Guard declaration with
1102 `#if ! HAVE_DECL_NANOSLEEP'.
1103 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1104 the declaration in that vendor's sys/timers.h.
1105 Reported by Christian Krackowizer.
1107 * quotearg.c (ISASCII): Add #undef and move definition to follow
1108 inclusion of wctype.h to work around solaris2.6 namespace pollution.
1109 (ISPRINT): Likewise.
1110 Reported by Tom Tromey.
1112 2000-01-30 Jim Meyering <meyering@lucent.com>
1114 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1115 uses of ->ut_name. The latter doesn't work with new Linux header files
1116 where only utmpx.ut_user is declared.
1118 * readutmp.h (UT_USER): Define.
1120 2000-01-23 Jim Meyering <meyering@lucent.com>
1122 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1125 2000-01-22 Jim Meyering <meyering@lucent.com>
1127 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1128 [! HAVE_DECL_STRTOULL]: Declare strtoull.
1129 Required for some AIX systems. Reported by Christian Krackowizer.
1130 [TESTING] (main): New function.
1132 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
1133 * dirname.c (dir_name): Support for DOS-style file names with drive
1136 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1138 * strverscmp.c (ISDIGIT): Define.
1139 (strverscmp): Use ISDIGIT, not isdigit.
1141 2000-01-17 Paul Eggert <eggert@twinsun.com>
1143 * nanosleep.c (nanosleep):
1144 Don't use SA_INTERRUPT to decide whether to call sigaction, as
1145 POSIX.1 doesn't require SA_INTERRUPT and some systems
1146 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
1147 it's been part of POSIX.1 since day 1 (in 1988).
1149 2000-01-17 Jim Meyering <meyering@lucent.com>
1151 * interlock: Remove unused file. Reported by François Pinard.
1153 2000-01-16 Paul Eggert <eggert@twinsun.com>
1155 * quotearg.c (quotearg_buffer_restyled): Do not quote
1156 alert, backslash, formfeed, and vertical tab unnecessarily in
1157 shell quoting style.
1160 version-control: never