1 2001-05-11 Paul Eggert <eggert@twinsun.com>
3 dirname code cleanup. base_name now behaves more compatibly
4 with POSIX basename when given file names that have trailing
5 slashes, and similarly for dir_name. Add new primitives
6 base_len and dir_len. Put the directory-name-related decls
9 * addext.c (ISSLASH, base_name): Remove; now in dirname.h.
10 * backupfile.c (base_name): Likewise.
11 * basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
12 * dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
13 * makepath.c (strip_trailing_slashes): Likewise.
14 * path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN, ISSLASH):
16 * rename.c (strip_trailing_slashes): Likewise.
17 * same.c (base_name): Likewise.
18 * stripslash.c (ISSLASH): Likewise.
20 * addext.c: Include <dirname.h> after size_t is defined.
21 * backupfile.c: Likewise.
23 * addext.c (addext): Use base_len to trim redundant
24 trailing slashes instead of doing it ourselves.
25 But do not trim the last slash if it is not redundant.
27 * backupfile.c (find_backup_file_name,
28 max_backup_version): Use base_len instead of rolling it ourselves.
29 Handle the case of "" and (on DOS) "C:" correctly.
31 * basename.c: Do not include <stdio.h>, <assert.h>; no longer needed.
32 Include <string.h>, <dirname.h>.
33 (base_name): Allow file names ending in slashes, other than names
34 that are all slashes. In this case, return the basename followed
35 by the slashes. This is more general, and can be used in places
36 where the original base_name purposely had an assertion failure.
37 (base_len): New function.
39 * dirname.c: Include <string.h> instead of <stdlib.h>.
40 Do not include <assert.h>; no longer needed.
42 (memrchr): Remove decl.
44 (dir_len): Renamed from dirlen. All callers changed.
45 Rewrite in terms of base_name, for simplicity and consistency.
46 (dir_name): Never return NULL. All callers changed.
47 Do not include <stdlib.h> in test program; no longer needed.
48 return 0; is fine for test program.
50 * dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
52 (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
54 * path-concat.c (path_concat): Use base_len to compute
55 base length, not strlen; this means we cannot rely on memcpy
58 * same.c (STREQ): Remove.
59 (same_name): Handle the case where the basename ends in trailing '/'.
61 * stripslash.c (strip_trailing_slashes): Return nonzero if
62 a slash was stripped. Do not strip the last slash after a
65 2001-04-08 Jim Meyering <meyering@lucent.com>
67 * getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
68 recomputed; that's necessary when the offset spans a DST transition.
69 Patch by David J. MacKenzie. Reported by Hon-Yin Kok.
71 2001-04-02 Jim Meyering <meyering@lucent.com>
73 * regex.h, regex.c: Update from GNU libc.
75 2001-03-19 Paul Eggert <eggert@twinsun.com>
77 * version-etc.c (version_etc_copyright): Update to 2001.
79 2001-03-16 Paul Eggert <eggert@twinsun.com>
81 * tempname.c (uint64_t): Define to uintmax_t if
82 not defined, and if UINT64_MAX is not defined.
83 Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
84 Reported by John David Anglin.
86 2001-03-10 Bruno Haible <haible@clisp.cons.org>
88 * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
89 alias if codeset is empty.
90 * config.charset (BeOS): Use wildcard syntax.
92 2001-03-13 Jim Meyering <meyering@lucent.com>
94 * path-concat.c (path_concat) [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]:
95 Don't insert a backslash when concatenating e.g., `C:' and `foo'.
98 2001-03-06 Bruno Haible <haible@clisp.cons.org>
100 * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
102 * unicodeio.c (print_unicode_char): Simplify accordingly.
104 2001-03-06 Bruno Haible <haible@clisp.cons.org>
106 * config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
107 support for DOS/DJGPP.
109 2001-02-28 Paul Eggert <eggert@twinsun.com>
111 * Makefile.am (libfetish_a_SOURCES):
112 Add dup-safer.c, fopen-safer.c.
113 (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
115 * dup-safer.c, fopen-safer.c, stdio-safer.h,
116 lib/unistd-safer.h: New files.
118 2001-02-25 Paul Eggert <eggert@twinsun.com>
120 The mkstemp replacement is taken from glibc 2.2.2, with some
121 portability fixes for use outside glibc, as follows:
123 * tempname.c (struct_stat64): New macro.
124 (direxists, __gen_tempname): Use it.
125 This avoids a portability problem with Solaris 8.
127 * tempname.c (<config.h>): Include if HAVE_CONFIG_H.
128 (<stddef.h>, <stdint.h>, <string.h>):
129 Include only if STDC_HEADERS || _LIBC.
130 (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
131 (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
132 (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
133 (__set_errno): Define this macro if <errno.h> doesn't.
134 (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
135 Define these macros if <stdio.h> doesn't.
136 (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
137 Define these macros if <sys/stat.h>
138 doesn't. Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
139 (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
140 __xstat64): Define if not _LIBC.
141 (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
142 (__gen_tempname): Invoke gettimeofday only if
143 HAVE_GETTIMEOFDAY || _LIBC;
144 otherwise, fall back on plain "time".
145 Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
147 * mkstemp.c (__GT_FILE): Define to zero if not defined.
149 * mkstemp.c, tempname.c: New files, taken from glibc 2.2.2.
151 2001-02-17 Jim Meyering <meyering@lucent.com>
153 * strtoul.c: Sync from GNU libc. Use double quotes, not <...>
154 around included file name.
156 * strnlen.c (__strnlen): Merge in a change from GNU libc.
158 * strftime.c: Update from GNU libc (the only changes were to comments).
160 2001-02-13 Bruno Haible <haible@clisp.cons.org>
162 * mbswidth.h (mbswidth): Also define as macro, to avoid prototype clash.
164 2001-02-17 Paul Eggert <eggert@twinsun.com>
166 * mbswidth.c, quotearg.c (mbrtowc, mbsinit):
167 Remove workaround macros for hosts that have mbrtowc but not
168 mbstate_t, as we now insist on proper declarations for both
169 before using mbrtowc.
171 2001-02-17 Jim Meyering <meyering@lucent.com>
173 * regex.c: Update from libc.
175 2001-02-16 Paul Eggert <eggert@twinsun.com>
177 * alloca.c (malloc): Undef before defining, since stdlib.h
178 may have defined it. Needed for Encore Umax-3.0.9.16b systems.
179 Reported by Mark Hounschell via Paul Eggert.
181 2001-01-30 Bruno Haible <haible@clisp.cons.org>
183 * config.charset: Update for FreeBSD 4.2.
185 2001-01-26 Jim Meyering <meyering@lucent.com>
187 * quotearg.c: Include stddef.h.
188 * quote.c: Include stddef.h.
189 Reported by Axel Kittenberger.
191 * xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
192 line in double quotes so that it evokes a better diagnostic.
193 [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
194 Reported by Axel Kittenberger.
196 2001-01-15 Bruno Haible <haible@clisp.cons.org>
198 * unicodeio.c (print_unicode_char): Cast the second iconv() arg,
199 to avoid a warning. Add back 'const' to inptr.
201 2001-01-16 Jim Meyering <meyering@lucent.com>
203 * basename.c: Include <stdio.h>, needed by assert on SunOS4.
206 2001-01-14 Jim Meyering <meyering@lucent.com>
208 * rename.c: New file. From Volker Borchert.
209 Include stdlib.h, string.h or strings.h, and xalloc.h.
210 Use strip_trailing_slashes rather than open-coding it.
212 2001-01-03 Paul Eggert <eggert@twinsun.com>
214 * strftime.c: Sync with glibc time/strftime.c 1.81.
216 2001-01-03 Jim Meyering <meyering@lucent.com>
218 * unicodeio.c (print_unicode_char): Remove `const' from declaration of
219 local `inptr' to avoid warning with some system declarations of iconv.
221 2000-12-29 Paul Eggert <eggert@twinsun.com>
223 * modechange.c: Do not assume that mode_t uses the
224 traditional octal encoding. E.g. "chmod 1 FOO" should set
225 the other-execute bit of FOO even if S_IXOTH != 1.
227 (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
228 WOTH, XOTH, ALLM): New macros.
229 (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
230 S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
232 (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
233 (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
235 No need to use uintmax_t; unsigned long is long enough.
236 Don't bother to get suffix since we don't use it.
238 2000-12-24 Jim Meyering <meyering@lucent.com>
240 * hash.c (is_prime): Return explicit boolean values.
241 (hash_get_first): Return NULL to appease Irix5.6's 89.
242 Reported by Nelson Beebe.
244 2000-10-31 Bruno Haible <haible@clisp.cons.org>
246 * localcharset.c (locale_charset): Add support for Win32.
248 2000-12-18 Paul Eggert <eggert@twinsun.com>
250 * physmem.h, physmem.c: New files.
252 * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
253 (noinst_HEADERS): Add physmem.h.
255 * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
256 't' for compatibility with Solaris 8 sort.
258 2000-12-18 Bruno Haible <haible@clisp.cons.org>
260 * config.charset: Add support for BeOS.
262 2000-12-16 Jim Meyering <meyering@lucent.com>
264 * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
265 SHELLS_FILE to a file name that's useful on djgpp systems.
267 (ADDITIONAL_DEFAULT_SHELLS): Define.
268 (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
269 Based mostly on a patch from Prashant TR.
271 2000-12-16 Jim Meyering <meyering@lucent.com>
273 This bug had a serious impact on chown: `chown N:M FILE' (for integer
274 N and M) would have treated it like `chown N:N FILE'.
276 * userspec.c (parse_user_spec): Fix typo: s/u/g/.
278 2000-10-31 Bruno Haible <haible@clisp.cons.org>
280 * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
281 CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
282 to the list of canonical encodings. Rename EUC-CN to GB2312.
284 2000-12-08 Andreas Schwab <schwab@suse.de>
286 * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
287 invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
289 2000-12-07 Jim Meyering <meyering@lucent.com>
291 * stripslash.c (ISSLASH): Define.
292 (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
295 * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
296 (dir_name_r): Declare this function as static.
297 [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
298 manifest itself on a name containing a mix of slashes and
300 Make this function work with names starting with a DOS-style
301 drive letter and colon prefix.
302 (dir_name): Append `.' if necessary.
303 Based mostly on patches from Prashant TR and Eli Zaretskii.
305 * dirname.h (dir_name_r): Remove prototype.
307 2000-12-05 Jim Meyering <meyering@lucent.com>
309 * dirname.c (dir_name_r): Add `const' in a few local declarations.
311 2000-12-04 Jim Meyering <meyering@lucent.com>
313 * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
314 Also include memory.h, stdlib.h, unistd.h if appropriate.
315 Reported by Andreas Jaeger (conflicting declaration of malloc).
317 2000-12-02 Jim Meyering <meyering@lucent.com>
319 * closeout.h: Make idempotent, to avoid some obscure warnings.
321 2000-12-01 Paul Eggert <eggert@twinsun.com>
323 * memrchr.c: Include <config.h> before any system include file.
325 2000-11-29 Paul Eggert <eggert@twinsun.com>
327 * dirname.c (dir_name_r): Fix typo: int -> size_t.
329 2000-11-26 Jim Meyering <meyering@lucent.com>
331 * memcoll.c: Include sys/types.h. From Werner Almesberger.
333 2000-11-22 Paul Eggert <eggert@twinsun.com>
335 * strftime.c (my_strftime): Do not invoke mbrlen with a
336 size of (size_t) -1; it's not portable.
338 2000-11-17 Akim Demaille <akim@epita.fr>
340 * obstack.h: Formatting changes.
341 (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
342 prevent type checking.
343 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
344 cast the value to (void *): assigning a `foo *' to a `void *'
346 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
348 2000-11-17 Jim Meyering <meyering@lucent.com>
350 * strstr.c: Update from GNU libc.
352 2000-11-16 Jim Meyering <meyering@lucent.com>
354 * strverscmp.c: Incorporate weak-alias-related changes from glibc.
356 2000-11-11 Jim Meyering <meyering@lucent.com>
358 * error.c: Add a couple #includes, merging from GNU libc version.
360 2000-11-10 Jim Meyering <meyering@lucent.com>
362 * obstack.h: Update from GNU libc.
363 * obstack.c: Likewise.
365 2000-11-06 Paul Eggert <eggert@twinsun.com>
367 * getusershell.c (setusershell): Use rewind rather than
368 fseek/fseeko, to avoid configuration hassles with fseeko.
369 Don't bother opening SHELLS_FILE if shellstream is NULL;
372 2000-11-05 Jim Meyering <meyering@lucent.com>
374 * makepath.h (make_dir): Declare.
375 * makepath.c (make_dir): Remove `static' attribute.
378 2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr>
380 * hash.c (hash_get_next): Fix a thinko: when ENTRY is the
381 last one in a bucket, advance to the next bucket.
383 2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg>
385 * fnmatch.c: Do not comment out all the code if we are using
386 the GNU C library, because in some cases we are replacing buggy
387 code in the GNU C library itself.
389 2000-10-30 Paul Eggert <eggert@twinsun.com>
391 * error.h, getline.h, modechange.h:
392 Remove "2000" from Copyright line, as the file hasn't been
393 changed this year other than in the copyright notice.
395 * xalloc.h: Add "2000" to Copyright line, as this file
396 was changed this year.
398 2000-10-30 Paul Eggert <eggert@twinsun.com>
400 * fnmatch.c (FOLD): Do not assume that characters are unsigned.
401 (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
402 e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
404 2000-10-29 Greg Louis <glouis@dynamicro.on.ca>
406 * regex.h (__restrict_arr): Move definition out of #ifndef block.
407 Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
408 doesn't define __restrict_arr.
410 2000-10-29 Jim Meyering <meyering@lucent.com>
412 * xstat.in: Fix grammar in comment.
414 2000-10-28 Jim Meyering <meyering@lucent.com>
416 * memchr.c: Update from libc.
417 Adjust for portability:
418 [HAVE_STDLIB_H]: Include stdlib.h.
419 [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
421 [!weak_alias]: Define __memchr to memchr.
423 * regex.c: Update from libc.
425 * getopt1.c: Likewise.
426 * memcmp.c: Likewise.
428 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
429 Avoid using fseek, when possible -- it's broken by design.
430 Patch by Ulrich Drepper.
432 2000-10-26 Jim Meyering <meyering@lucent.com>
434 * strftime.c: Update from libc.
436 2000-10-25 Jim Meyering <meyering@lucent.com>
438 * obstack.c: Update from libc.
440 2000-10-23 Jim Meyering <meyering@lucent.com>
442 * hard-locale.c (hard_locale): Revert last change -- it was simply
443 wrong. That set_locale call must not have any side effects.
446 2000-10-22 Jim Meyering <meyering@lucent.com>
448 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
449 [CYCLIC]: Remove now-unused definition.
451 * save-cwd.c (O_DIRECTORY): Define, if needed.
452 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
453 Suggestion from Ulrich Drepper.
455 2000-10-21 Jim Meyering <meyering@lucent.com>
457 * dirname.c (dir_name_r): New function, factored out of dir_name.
458 (dir_name): Use dir_name_r.
459 * dirname.h (dir_name_r): Declare it.
461 2000-10-21 Jim Meyering <meyering@lucent.com>
463 * dirname.c (memrchr): Declare if necessary.
464 (dir_name): Remove the restriction that there be no
465 trailing slashes. Now, this code skips past them, effectively
467 [TEST_DIRNAME] (main): New unit tests.
469 * memrchr.c: New file from GNU libc.
470 Undef __memrchr, too.
471 [!weak_alias]: Define __memrchr to memrchr.
472 Guard weak_alias use with `#ifdef weak_alias'.
474 2000-10-17 Jim Meyering <meyering@lucent.com>
476 * quote.h (PARAMS): Define and use.
477 Reported by Akim Demaille.
479 * getopt.c: Update from libc.
481 2000-10-16 Jim Meyering <meyering@lucent.com>
483 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
486 2000-09-25 Jim Meyering <meyering@lucent.com>
488 * md5.h (rol): Define (from GnuPG).
490 * sha.c: Give credit (GnuPG) where due.
491 (M): Use rol rather than open-coding it.
494 2000-09-21 Jim Meyering <meyering@lucent.com>
496 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
497 Reported by Michael Stone.
499 2000-09-20 Jim Meyering <meyering@lucent.com>
501 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
502 (noinst_HEADERS): Add sha.h.
503 Based on code from Scott G. Miller and from GnuPG.
505 2000-09-15 Jim Meyering <meyering@lucent.com>
507 * regex.c: Update from libc.
509 2000-09-10 Jim Meyering <meyering@lucent.com>
511 * getopt.c (_getopt_internal): Update from glibc.
513 2000-09-09 Jim Meyering <meyering@lucent.com>
515 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
516 think it should be used as a general replacement for isascii.
517 * fnmatch.c: Likewise.
518 * mbswidth.c: Likewise
522 * userspec.c: Include sys/param.h and limits.h.
524 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
525 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
526 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
527 UID, GID. Check range.
529 2000-09-06 Jim Meyering <meyering@lucent.com>
531 * getopt.c (_getopt_internal): Update from glibc.
533 2000-08-30 Jim Meyering <meyering@lucent.com>
535 * strftime.c: Merge in changes from GNU libc.
537 2000-08-26 Jim Meyering <meyering@lucent.com>
539 * closeout.c: Include "__fpending.h".
540 (close_stdout_status): Return right away if there's nothing to flush.
542 * Makefile.am (noinst_HEADERS): Add __fpending.h.
543 * __fpending.c: New file.
544 * __fpending.h: New file.
546 2000-08-07 Paul Eggert <eggert@twinsun.com>
548 Standardize on "memory exhausted" instead of "Memory exhausted"
549 or "virtual memory exhausted".
550 * obstack.c (print_and_abort): Use "memory exhausted", not
551 "virtual memory exhausted".
552 * same.c (same_name): Invoke xalloc_die instead of printing
554 * userspec.c (parse_user_spec): Likewise.
555 * bumpalloc.h: comment fix
556 * same.c, userspec.c: Include xalloc.h.
558 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
559 not char *const and pointing to a constant array.
560 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
561 (xrealloc): Comment fix.
563 * userspec.c (parse_user_spec):
564 Don't translate a message until just before returning,
565 to avoid unnecessary translation.
567 2000-08-07 Jim Meyering <meyering@lucent.com>
569 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
570 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
571 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
572 getgroups.c, gethostname.c, getopt.h, group-member.c,
573 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
574 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
575 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
576 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
577 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
578 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
579 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
580 yesno.c: Back out Copyright date changes for each file with no change
581 this year. This eases coordination with other programs using the same
582 source code modules. From Paul Eggert.
584 2000-08-03 Greg McGary <greg@mcgary.org>
586 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
587 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
588 (EXTEND_BUFFER): Use them.
590 2000-08-01 Jim Meyering <meyering@lucent.com>
592 * dirname.c (ISSLASH): Define.
593 (BACKSLASH_IS_PATH_SEPARATOR): Define.
594 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
595 both `\' and `/' may be use as path separators.
596 Based on a patch from Prashant TR.
598 2000-07-31 Paul Eggert <eggert@twinsun.com>
600 * quotearg.c (quotearg_n_options): Don't make the initial
601 slot vector a constant, since it might get modified.
603 2000-07-31 Jim Meyering <meyering@lucent.com>
605 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
606 * obstack.c (print_and_abort): Likewise.
608 2000-07-30 Paul Eggert <eggert@twinsun.com>
610 * quotearg.c (quotearg_n_options): Preallocate a slot 0
611 buffer, so that the caller can always quote one small
612 component of a "memory exhausted" message in slot 0.
613 From a suggestion by Jim Meyering.
615 2000-07-30 Jim Meyering <meyering@lucent.com>
617 * makepath.c (make_path): Quote the other instance, too.
619 * quotearg.c (N_STATIC_SLOTVECS): Define.
620 (STATIC_BUF_SIZE): Define.
621 (quotearg_n_options): Use only statically allocated storage when
622 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
623 than STATIC_BUF_SIZE.
625 2000-07-29 Jim Meyering <meyering@lucent.com>
627 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
628 * dirname.c (dir_name): Likewise.
630 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
632 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
633 (dir_name): Assert that there are no trailing slashes.
635 2000-07-18 Bruno Haible <haible@clisp.cons.org>
637 * mbswidth.h (mbswidth): Add a flags argument.
638 (mbswidth): New declaration.
639 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
640 * mbswidth.c (mbswidth): Add a flags argument.
641 (mbsnwidth): New function.
643 2000-07-24 Jim Meyering <meyering@lucent.com>
645 * mbswidth.c: Remove useless #else. From Bruno Haible.
647 2000-07-23 Paul Eggert <eggert@twinsun.com>
649 * mbswidth.c (_XOPEN_SOURCE):
650 Don't define; this causes problems on Solaris 7.
651 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
653 2000-07-23 Paul Eggert <eggert@twinsun.com>
656 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
657 so that mbstate_t is always defined.
659 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
660 be 1 in at least one GCC installation, and this configuration
661 error is likely to be common. Ignoring MB_LEN_MAX hurts
662 performance on hosts that have mbrtowc but have only unibyte
663 locales, but I assume these hosts are rare.
665 2000-07-23 Paul Eggert <eggert@twinsun.com>
667 * quotearg.c: Streamline by invoking multibyte code only if needed.
668 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
669 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
670 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
671 invoke multibyte primitives.
673 2000-07-23 Jim Meyering <meyering@lucent.com>
675 * basename.c (base_name): Add an assertion.
677 2000-07-15 Bruno Haible <clisp.cons.org>
679 * quotearg.c: When the system forces us to redefine mbstate_t,
680 shadow its mbsinit function.
682 2000-07-16 Bruno Haible <haible@clisp.cons.org>
684 * mbswidth.h: New file.
685 * mbswidth.c: New file.
686 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
687 (noinst_HEADERS): Add mbswidth.h.
689 2000-07-17 Bruno Haible <haible@clisp.cons.org>
691 * config.charset: Add support for FreeBSD. Improve support for HP-UX
694 2000-07-15 Jim Meyering <meyering@lucent.com>
696 * makepath.c: Include quote.h.
697 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
698 corresponding argument in a `quote (...)' call.
699 Give better diagnostics.
701 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
702 (noinst_HEADERS): Add quote.h.
704 * quote.c (quote, quote_n): New file. Two functions taken verbatim
705 from tar's src/misc.c.
706 * quote.h: New file. Prototypes for same.
708 2000-07-10 Paul Eggert <eggert@twinsun.com>
710 From a suggestion by Bruno Haible.
711 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
712 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
713 to decide whether to define the BeOS workaround macro;
714 this adjusts to the change to AC_MBSTATE_T.
716 2000-07-13 Paul Eggert <eggert@twinsun.com>
718 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
720 * quotearg.c (quoting_style_args, quoting_style_vals,
721 quotearg_buffer_restyled): Add support for
722 clocale_quoting_style. Undo previous change to
723 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
724 and "{RIGHT QUOTATION MARK}" msgids.
726 2000-07-05 Paul Eggert <eggert@twinsun.com>
728 The old behavior of quoting `like this' doesn't look good with
729 newer, ISO-style fonts. See:
730 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
732 Instead, quote "like this" by default. Let the translator
733 tailor the locale-specific quoting behavior by providing
734 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
736 * quotearg.c (N_): New macro.
737 (gettext_default): New function.
738 (quotearg_buffer_restyled): Use
739 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
740 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
742 2000-07-09 Jim Meyering <meyering@lucent.com>
744 * Most files: Update copyright dates to include 2000.
746 2000-07-08 Jim Meyering <meyering@lucent.com>
748 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
750 (xgethostname): Remove now-unnecessary #ifdef.
751 Move declaration of `err' into loop where it's used.
753 2000-07-05 Bruno Haible <haible@clisp.cons.org>
755 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
756 by allocating a larger buffer. Test the gethostname return value for
757 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
758 returns an error and ENAMETOOLONG isn't defined.
760 2000-07-05 Paul Eggert <eggert@twinsun.com>
761 and Bruno Haible <haible@clisp.cons.org>
763 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
765 2000-07-05 Bruno Haible <haible@clisp.cons.org>
767 * quotearg.c (struct quoting_options): Simplify quote_these_too
770 2000-07-03 Jim Meyering <meyering@lucent.com>
772 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
773 Reported by Bruno Haible.
775 2000-07-04 Jim Meyering <meyering@lucent.com>
777 * quotearg.c: Make inclusion of <wchar.h> independent of whether
778 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
781 2000-07-03 Paul Eggert <eggert@twinsun.com>
782 and Bruno Haible <haible@clisp.cons.org>
784 * quotearg.c (mbrtowc):
785 Assign to *pwc, and return 1 only if result is nonzero.
786 (iswprint): Use ISPRINT when substituting our own mbrtowc.
788 2000-07-03 Jim Meyering <meyering@lucent.com>
790 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
791 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
794 2000-07-02 Jim Meyering <meyering@lucent.com>
796 * quotearg.c (mbstate_t): Don't define here.
798 2000-07-02 Jim Meyering <meyering@lucent.com>
800 * nanosleep.c (SIGCONT): Define if not already defined.
802 2000-06-17 Bruno Haible <haible@clisp.cons.org>
804 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
805 per change in ../m4/ls-mntd-fs.m4.
806 (read_filesystem_list): Ignore symbolic links.
808 2000-06-29 Jim Meyering <meyering@lucent.com>
810 * same.c: Include <string.h> or <strings.h>, as appropriate,
811 for declaration of strcmp.
813 * long-options.c: Include <stdlib.h>, for declaration of exit.
815 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
816 Avoid warning by casting result to `char *' to remove `const'.
818 2000-06-17 Bruno Haible <haible@clisp.cons.org>
820 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
822 2000-06-26 Paul Eggert <eggert@twinsun.com>
824 savedir now sets errno on failure and invokes xmalloc to get memory.
825 Fix a couple of other minor bugs while we're at it.
827 * savedir.c (<unistd.h>): Do not include; there's no need.
828 (NAMLEN): Remove macro.
829 (malloc, realloc): Remove decls.
831 ("xalloc.h"): Include.
832 (NAME_SIZE_DEFAULT): New macro.
833 (savedir): Use xmalloc / xrealloc to allocate memory.
834 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
835 Skip "" directory entries.
836 Use strlen to calculate directory entry length, since the old method
837 is rarely used these days and isn't worth supporting.
838 Don't use a pointer after freeing it.
839 Check for integer overflow when calculating allocation size.
840 Use memcpy to copy entries, instead of stpcpy.
841 Set errno properly when returning NULL.
842 Check for readdir error.
844 2000-06-26 Jim Meyering <meyering@lucent.com>
846 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
848 2000-06-17 Bruno Haible <haible@clisp.cons.org>
850 * getusershell.c (xmalloc, xrealloc): Remove functions.
852 Don't include <stdlib.h>. Don't declare malloc, realloc.
854 2000-06-23 Bruno Haible <haible@clisp.cons.org>
856 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
858 2000-06-24 Jim Meyering <meyering@lucent.com>
860 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
862 2000-06-21 Jim Meyering <meyering@lucent.com>
864 * getpass.c: New file, from Bruno Haible. Required for BeOS.
866 2000-06-19 Paul Eggert <eggert@twinsun.com>
868 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
869 (mbrtowc, mbstate_t): Define substitutes if
870 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
871 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
872 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
874 2000-06-17 Bruno Haible <haible@clisp.cons.org>
876 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
877 than 1024, return a memory chunk of least possible size, instead
878 of size PATH_MAX + 2. In the loop, increment the size proportionally.
879 Use free/xmalloc instead of xrealloc to avoid copying for very long
882 2000-06-17 Bruno Haible <haible@clisp.cons.org>
884 * canon-host.c (canon_host): Use malloc and memcpy to copy an
885 address, not strdup. Include <stdlib.h> and don't declare free().
887 2000-06-17 Bruno Haible <haible@clisp.cons.org>
889 * path-concat.c (path_concat): Don't access dir[-1] if dir is
892 2000-06-21 Jim Meyering <meyering@lucent.com>
894 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
895 (noinst_HEADERS): Add getstr.h.
897 * getline.c (getstr): Move into a separate file.
898 * getstr.c (getstr): New file, extracted from getline.c, with
899 the following changes: new parameter, delim2; both delim[12]
900 parameters have type `int', not `char'. The latter would lose
901 with 8-bit delimiters.
902 * getstr.h: New file.
904 2000-06-19 Jim Meyering <meyering@lucent.com>
906 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
908 2000-06-18 Jim Meyering <meyering@lucent.com>
910 * mkdir.c: Remove file, due mainly to copyright incompatibility.
911 Besides, these days every porting target provides a mkdir function.
913 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
914 (this snippet comes from src/system.h).
916 2000-06-15 Paul Eggert <eggert@twinsun.com>
918 * human.c (adjust_value): New function.
919 (human_readable_inexact): Apply rounding style even when
920 printing approximate values.
922 2000-06-14 Paul Eggert <eggert@twinsun.com>
924 * human.c (human_readable_inexact): Allow an input block
925 size that is not a multiple of the output block size, and vice versa.
926 Reported by Piergiorgio Sartor.
928 2000-06-14 Paul Eggert <eggert@twinsun.com>
930 * getdate.y (get_date): Apply relative times after time
931 zone indicator, not before. Reported by Todd A. Jacobs.
933 2000-06-13 Jim Meyering <meyering@lucent.com>
935 * Makefile.am (all-local): Depend on lstat.c and stat.c.
937 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
939 2000-06-12 Paul Eggert <eggert@twinsun.com>
941 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
943 2000-06-04 Paul Eggert <eggert@twinsun.com>
945 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
947 2000-06-04 Jim Meyering <meyering@lucent.com>
949 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
950 SunOS4.1.4 for which gid_t is an unsigned type.
952 2000-06-03 Jim Meyering <meyering@lucent.com>
954 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
956 2000-05-26 Bruno Haible <haible@clisp.cons.org>
958 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
959 newer, don't install charset.alias.
960 * config.charset: Change the Linux/glibc rules so they become empty
961 on glibc-2.1 or newer.
963 2000-06-02 Jim Meyering <meyering@lucent.com>
965 * mountlist.c: Back out last change. Instead, do this...
966 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
967 member using the same `ignore'-testing code.
968 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
972 2000-05-29 Jim Meyering <meyering@lucent.com>
974 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
975 with the `ignore' attribute. Based on a patch from Mark D. Roth.
977 2000-05-22 Jim Meyering <meyering@lucent.com>
979 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
981 2000-05-18 Jim Meyering <meyering@lucent.com>
983 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
984 back, too, since it may have been modified by allocate_entry.
985 (hash_delete): Rewrite to use neither the assignment operator
986 nor the comma operator in an if-expression.
988 2000-05-15 Paul Eggert <eggert@twinsun.com>
991 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
992 Remove; no longer needed.
993 "quotearg.h": Add include.
994 (file_name): Do not bother to explicitly initialize to NULL; it's less
995 efficient on some hosts.
996 (close_stdout_status): Remove test as to whether stdout was already
997 closed; it breaks for the case "echo x | sort >&-".
998 Quote file name colons.
999 Do not assume that _("write error") lacks format strings.
1001 2000-05-15 Jim Meyering <meyering@lucent.com>
1003 * version-etc.c (version_etc_copyright): Update the copyright string
1004 used in all --version output.
1006 2000-05-14 Jim Meyering <meyering@lucent.com>
1008 * closeout.c (close_stdout_set_file_name): New function.
1009 (close_stdout_status): Use new file-scoped global.
1010 Return right away if fstat says the stdout file descriptor is invalid.
1011 * closeout.h (close_stdout_set_file_name): Declare.
1013 2000-05-10 Jim Meyering <meyering@lucent.com>
1015 * closeout.c [default_exit_status]: New file-scoped variable.
1016 (close_stdout_set_status): New function.
1017 * closeout.h (close_stdout_set_status): Declare.
1019 2000-05-08 Jim Meyering <meyering@lucent.com>
1021 * long-options.c: Don't include closeout.h.
1022 (parse_long_options): Don't call close_stdout for --version.
1024 2000-05-06 Jim Meyering <meyering@lucent.com>
1026 * strnlen.c: Undefine __strnlen and strnlen.
1027 [!weak_alias]: Define __strnlen to strnlen.
1029 * atexit.c: New file, from libiberty.
1031 2000-05-06 Jim Meyering <meyering@lucent.com>
1033 * closeout.c (close_stdout_status): Also check for errors on the
1036 2000-05-05 Bruno Haible <haible@clisp.cons.org>
1038 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
1039 instead of xmalloc, xrealloc, path_concat.
1040 (locale_charset): Treat empty environment variables as absent.
1041 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
1043 2000-05-04 Jim Meyering <meyering@lucent.com>
1045 * getopt.c: Update from glibc.
1046 * obstack.c: Likewise.
1047 * obstack.h: Likewise.
1048 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
1050 * regex.h: Likewise.
1051 * strndup.c: Likewise.
1052 * strnlen.c: New file, from glibc.
1054 2000-05-01 Jim Meyering <meyering@lucent.com>
1056 * full-write.c (full_write): Remove `FIXME' part of comment.
1058 2000-04-29 Jim Meyering <meyering@lucent.com>
1060 * path-concat.c: Declare strdup only if it's not defined.
1061 * canon-host.c: Likewise.
1063 2000-04-28 Jim Meyering <meyering@lucent.com>
1065 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
1066 redefinition warning on some systems (HPUX). Otherwise, regex.h is
1067 included first, then limits.h is included by locale.h by libintl.h.
1068 From John David Anglin.
1070 2000-04-25 Jim Meyering <meyering@lucent.com>
1072 * makepath.c (S_IRWXUGO): Define.
1073 (make_path): Always perform explicit chmod if MODE specifies any
1074 of the `special' permission bits. Prompted by a bug report against
1075 install from Mate Wierdl and Joost van Baal.
1077 2000-04-18 Jim Meyering <meyering@lucent.com>
1081 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
1082 getpagesize. For BeOS. Based on a patch from Bruno Haible.
1084 2000-04-17 Jim Meyering <meyering@lucent.com>
1086 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
1087 the definition of it to rpl_strftime also defined-away the system's
1090 2000-04-15 Jim Meyering <meyering@lucent.com>
1092 Use `C' to denote so-called `contiguous' files, the same way
1094 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
1095 (ftypelet): Use S_ISCTG.
1096 From Michael Deutschmann.
1098 2000-04-14 Jim Meyering <meyering@lucent.com>
1100 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
1102 2000-04-08 Jim Meyering <meyering@lucent.com>
1104 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
1105 names don't conflict. Reported by Eli Zaretskii.
1107 2000-03-28 Bruno Haible <haible@clisp.cons.org>
1109 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
1110 bug. Deal with the different error behavior of Irix iconv.
1112 2000-04-07 Jim Meyering <meyering@lucent.com>
1114 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
1115 to work around system header problems on AIX 3.2.5. From Bruno Haible.
1117 2000-04-05 Jim Meyering <meyering@lucent.com>
1119 Portability tweaks required for ultrix4.3.
1120 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
1121 * readutmp.c: Include sys/types.h before sys/stat.h.
1122 * canon-host.c: Declare strdup.
1123 * path-concat.c: Likewise.
1124 From John David Anglin.
1126 2000-04-04 Jim Meyering <meyering@lucent.com>
1128 Be more DOS 8.3-friendly.
1129 * ref-add.sin: Renamed from ref-add.sed.in.
1130 * ref-del.sin: Renamed from ref-del.sed.in.
1131 * Makefile.am: Reflect renaming.
1132 Reported by Eli Zaretskii.
1134 Use a temporary file name that won't clash with `charset.alias'
1135 in the DOS 8.3 name space.
1136 * Makefile.am (charset_tmp): Define.
1137 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
1138 (uninstall-local): Likewise.
1139 Reported by Eli Zaretskii.
1141 2000-03-29 Paul Eggert <eggert@twinsun.com>
1143 * time/strftime.c (my_strftime): Make sure we call the system
1144 strftime, not ourselves, when invoking the underlying strftime.
1146 2000-03-24 Jim Meyering <meyering@lucent.com>
1148 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
1149 (charset_alias): Define.
1150 (install-exec-local): Factor out common code.
1151 (uninstall-local): Split lines longer than 80.
1152 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
1154 (.sed.in.sed): New rule. Don't redirect directly to $@.
1155 (CLEANFILES): Add ref-add.sed and ref-del.sed.
1157 2000-03-19 Bruno Haible <haible@clisp.cons.org>
1159 * config.charset: Output a line containing "Packages using this file".
1160 * ref-add.sed.in, ref-del.sed.in: New files.
1161 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
1162 ref-del.sed): New rules.
1164 2000-03-17 Jim Meyering <meyering@lucent.com>
1166 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
1167 Otherwise, include <strings.h>
1169 2000-03-17 Bruno Haible <haible@clisp.cons.org>
1171 * unicodeio.c (utf8_wctomb): New function.
1172 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
1173 format instead of in UCS-4 with platform dependent endianness.
1175 2000-03-07 Paul Eggert <eggert@twinsun.com>
1177 * savedir.c (savedir): Work even if directory size is
1178 negative; this can happen with some screwy NFS configurations.
1180 2000-03-06 Jim Meyering <meyering@lucent.com>
1182 * localcharset.c (get_charset_aliases): Don't try to free file_name
1183 if it's NULL (because we ran out of memory). From Bruno Haible.
1185 2000-03-05 Jim Meyering <meyering@lucent.com>
1187 * localcharset.c ("path-concat.h"): Include.
1188 (get_charset_aliases): Use path_concat instead of ANSI string
1191 * unicodeio.h (PARAMS): Define.
1192 Use it to guard prototype.
1194 2000-03-04 Jim Meyering <meyering@lucent.com>
1196 * Makefile.am (install-exec-local): Create $(libdir) before installing
1198 (uninstall-local): Uncomment this rule so `make distcheck' works
1201 * unicodeio.c (<errno.h>): Include it.
1202 (errno): Declare if not defined.
1204 * localcharset.c: Add Bruno's comment justifying use of volatile.
1206 * config.charset: New version, incorporating remarks from a linux
1207 i18n mailing list. From Bruno Haible.
1209 2000-03-02 Jim Meyering <meyering@lucent.com>
1211 * Makefile.am (EXTRA_DIST): Add config.charset.
1213 2000-03-01 Jim Meyering <meyering@lucent.com>
1215 * localcharset.c: Guard some #includes with `#if HAVE_...'.
1216 * unicodeio.c: Likewise.
1218 2000-02-02 Bruno Haible <haible@clisp.cons.org>
1220 * config.charset: New file.
1221 * localcharset.c: New file.
1222 * unicodeio.h, unicodeio.c: New files.
1223 * Makefile.am (DEFS): Add -DLIBDIR=...
1224 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
1225 (noinst_HEADERS): Add unicodeio.h.
1226 (all-local, install-exec-local, charset.alias): New targets.
1228 2000-02-28 Paul Eggert <eggert@twinsun.com>
1230 * quotearg.c (ALERT_CHAR): New macro.
1231 (quotearg_buffer_restyled): Use it.
1233 2000-02-27 Jim Meyering <meyering@lucent.com>
1235 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
1236 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
1238 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
1239 not `#if STDC_HEADERS'.
1240 Declare malloc if needed.
1242 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
1243 now that autoconf always defines the HAVE_DECL_ symbols.
1244 * human.c: Likewise.
1246 * strtoumax.c: Likewise.
1248 * backupfile.c: Arrange for cpp to fail if the configure-time
1249 declaration check was not run.
1251 * human.c: Likewise.
1253 * strtoumax.c: Likewise.
1255 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
1256 then first look up the entire `.'-containing string as a login name.
1258 2000-02-18 Paul Eggert <eggert@twinsun.com>
1260 * getdate.y: Handle two-digit years with leading zeros correctly.
1261 (textint): New typedef.
1262 (parser_control): Member year changed from int to textint.
1264 (YYSTYPE): Removed; replaced by %union with int and textint members.
1265 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
1266 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
1267 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
1268 (tSNUMBER, tUNUMBER): Now of type <textintval>.
1269 (date, number, to_year): Use width of number in digits, not its value,
1270 to determine whether it's a 2-digit year, or a 2-digit time.
1271 (yylex): Store number of digits of numeric tokens.
1272 Reported by John Kendall.
1274 (parser_control): Changed from struct parser_control to typedef (for
1275 consistency). All uses changed.
1277 (tID): Removed; not used.
1278 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
1280 2000-02-14 Paul Eggert <eggert@twinsun.com>
1282 * getpagesize.h (getpagesize): Port to VMS for Alpha;
1283 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
1285 2000-02-12 Jim Meyering <meyering@lucent.com>
1287 * userspec.c (ISDIGIT): Define it.
1288 (isdigit): Remove definition.
1289 (is_number): Use ISDIGIT, not isdigit.
1290 <libintl.h>: Include.
1292 (parse_user_spec): Mark translatable strings.
1294 2000-02-10 Jim Meyering <meyering@lucent.com>
1296 With these changes, nanosleep.[ch] are finally enough like the other
1297 lib/* replacement files to compile on a few more losing systems.
1299 * nanosleep.h: Don't include config.h.
1300 Remove prototype from declaration of nanosleep.
1301 (PARAMS): Remove now-unneeded definition.
1302 * nanosleep.c: #undef nanosleep.
1303 (rpl_nanosleep): Rename from nanosleep.
1305 2000-02-03 Jim Meyering <meyering@lucent.com>
1307 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1308 rather than with `#if HAVE_UTMPNAME'.
1310 2000-02-01 Jim Meyering <meyering@lucent.com>
1312 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
1314 2000-01-31 Jim Meyering <meyering@lucent.com>
1316 * nanosleep.h (nanosleep): Guard declaration with
1317 `#if ! HAVE_DECL_NANOSLEEP'.
1318 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1319 the declaration in that vendor's sys/timers.h.
1320 Reported by Christian Krackowizer.
1322 * quotearg.c (ISASCII): Add #undef and move definition to follow
1323 inclusion of wctype.h to work around solaris2.6 namespace pollution.
1324 (ISPRINT): Likewise.
1325 Reported by Tom Tromey.
1327 2000-01-30 Jim Meyering <meyering@lucent.com>
1329 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1330 uses of ->ut_name. The latter doesn't work with new Linux header files
1331 where only utmpx.ut_user is declared.
1333 * readutmp.h (UT_USER): Define.
1335 2000-01-23 Jim Meyering <meyering@lucent.com>
1337 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1340 2000-01-22 Jim Meyering <meyering@lucent.com>
1342 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1343 [! HAVE_DECL_STRTOULL]: Declare strtoull.
1344 Required for some AIX systems. Reported by Christian Krackowizer.
1345 [TESTING] (main): New function.
1347 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
1348 * dirname.c (dir_name): Support for DOS-style file names with drive
1351 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1353 * strverscmp.c (ISDIGIT): Define.
1354 (strverscmp): Use ISDIGIT, not isdigit.
1356 2000-01-17 Paul Eggert <eggert@twinsun.com>
1358 * nanosleep.c (nanosleep):
1359 Don't use SA_INTERRUPT to decide whether to call sigaction, as
1360 POSIX.1 doesn't require SA_INTERRUPT and some systems
1361 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
1362 it's been part of POSIX.1 since day 1 (in 1988).
1364 2000-01-17 Jim Meyering <meyering@lucent.com>
1366 * interlock: Remove unused file. Reported by François Pinard.
1368 2000-01-16 Paul Eggert <eggert@twinsun.com>
1370 * quotearg.c (quotearg_buffer_restyled): Do not quote
1371 alert, backslash, formfeed, and vertical tab unnecessarily in
1372 shell quoting style.
1375 version-control: never