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