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