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