d0edaa7f94e66c52212e4d03283d84dc76129166
[gnulib.git] / lib / ChangeLog
1 2000-11-16  Jim Meyering  <meyering@lucent.com>
2
3         * strverscmp.c: Incorporate weak-alias-related changes from glibc.
4
5 2000-11-11  Jim Meyering  <meyering@lucent.com>
6
7         * error.c: Add a couple #includes, merging from GNU libc version.
8
9 2000-11-10  Jim Meyering  <meyering@lucent.com>
10
11         * obstack.h: Update from GNU libc.
12         * obstack.c: Likewise.
13
14 2000-11-06  Paul Eggert  <eggert@twinsun.com>
15
16         * getusershell.c (setusershell): Use rewind rather than
17         fseek/fseeko, to avoid configuration hassles with fseeko.
18         Don't bother opening SHELLS_FILE if shellstream is NULL;
19         it's not necessary.
20
21 2000-11-05  Jim Meyering  <meyering@lucent.com>
22
23         * makepath.h (make_dir): Declare.
24         * makepath.c (make_dir): Remove `static' attribute.
25         Tweak a comment.
26
27 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
28
29         * hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
30         last one in a bucket, advance to the next bucket.
31
32 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
33
34         * fnmatch.c: Do not comment out all the code if we are using
35         the GNU C library, because in some cases we are replacing buggy
36         code in the GNU C library itself.
37
38 2000-10-30  Paul Eggert  <eggert@twinsun.com>
39
40         * error.h, getline.h, modechange.h:
41         Remove "2000" from Copyright line, as the file hasn't been
42         changed this year other than in the copyright notice.
43
44         * xalloc.h: Add "2000" to Copyright line, as this file
45         was changed this year.
46
47 2000-10-30  Paul Eggert  <eggert@twinsun.com>
48
49         * fnmatch.c (FOLD): Do not assume that characters are unsigned.
50         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
51         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
52
53 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
54
55         * regex.h (__restrict_arr): Move definition out of #ifndef block.
56         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
57         doesn't define __restrict_arr.
58
59 2000-10-29  Jim Meyering  <meyering@lucent.com>
60
61         * xstat.in: Fix grammar in comment.
62
63 2000-10-28  Jim Meyering  <meyering@lucent.com>
64
65         * memchr.c: Update from libc.
66         Adjust for portability:
67         [HAVE_STDLIB_H]: Include stdlib.h.
68         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
69         Undef __memchr, too.
70         [!weak_alias]: Define __memchr to memchr.
71
72         * regex.c: Update from libc.
73         * regex.h: Likewise.
74         * getopt1.c: Likewise.
75         * memcmp.c: Likewise.
76
77         * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
78         Avoid using fseek, when possible -- it's broken by design.
79         Patch by Ulrich Drepper.
80
81 2000-10-26  Jim Meyering  <meyering@lucent.com>
82
83         * strftime.c: Update from libc.
84
85 2000-10-25  Jim Meyering  <meyering@lucent.com>
86
87         * obstack.c: Update from libc.
88
89 2000-10-23  Jim Meyering  <meyering@lucent.com>
90
91         * hard-locale.c (hard_locale): Revert last change -- it was simply
92         wrong.  That set_locale call must not have any side effects.
93         From Paul Eggert.
94
95 2000-10-22  Jim Meyering  <meyering@lucent.com>
96
97         * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
98         [CYCLIC]: Remove now-unused definition.
99
100         * save-cwd.c (O_DIRECTORY): Define, if needed.
101         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
102         Suggestion from Ulrich Drepper.
103
104 2000-10-21  Jim Meyering  <meyering@lucent.com>
105
106         * dirname.c (dir_name_r): New function, factored out of dir_name.
107         (dir_name): Use dir_name_r.
108         * dirname.h (dir_name_r): Declare it.
109
110 2000-10-21  Jim Meyering  <meyering@lucent.com>
111
112         * dirname.c (memrchr): Declare if necessary.
113         (dir_name): Remove the restriction that there be no
114         trailing slashes.  Now, this code skips past them, effectively
115         ignoring them.
116         [TEST_DIRNAME] (main): New unit tests.
117
118         * memrchr.c: New file from GNU libc.
119         Undef __memrchr, too.
120         [!weak_alias]: Define __memrchr to memrchr.
121         Guard weak_alias use with `#ifdef weak_alias'.
122
123 2000-10-17  Jim Meyering  <meyering@lucent.com>
124
125         * quote.h (PARAMS): Define and use.
126         Reported by Akim Demaille.
127
128         * getopt.c: Update from libc.
129
130 2000-10-16  Jim Meyering  <meyering@lucent.com>
131
132         * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
133         From Jan Fedak.
134
135 2000-09-25  Jim Meyering  <meyering@lucent.com>
136
137         * md5.h (rol): Define (from GnuPG).
138
139         * sha.c: Give credit (GnuPG) where due.
140         (M): Use rol rather than open-coding it.
141         Add a FIXME comment.
142
143 2000-09-21  Jim Meyering  <meyering@lucent.com>
144
145         * userspec.c (parse_user_spec): Remove debugging printf I'd added.
146         Reported by Michael Stone.
147
148 2000-09-20  Jim Meyering  <meyering@lucent.com>
149
150         * Makefile.am (libfetish_a_SOURCES): Add sha.c.
151         (noinst_HEADERS): Add sha.h.
152         Based on code from Scott G. Miller and from GnuPG.
153
154 2000-09-15  Jim Meyering  <meyering@lucent.com>
155
156         * regex.c: Update from libc.
157
158 2000-09-10  Jim Meyering  <meyering@lucent.com>
159
160         * getopt.c (_getopt_internal): Update from glibc.
161
162 2000-09-09  Jim Meyering  <meyering@lucent.com>
163
164         * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
165         think it should be used as a general replacement for isascii.
166         * fnmatch.c: Likewise.
167         * mbswidth.c: Likewise
168         * regex.c: Likewise.
169
170         Don't use atoi.
171         * userspec.c: Include sys/param.h and limits.h.
172         Include xstrtol.h.
173         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
174         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
175         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
176         UID, GID.  Check range.
177
178 2000-09-06  Jim Meyering  <meyering@lucent.com>
179
180         * getopt.c (_getopt_internal): Update from glibc.
181
182 2000-08-30  Jim Meyering  <meyering@lucent.com>
183
184         * strftime.c: Merge in changes from GNU libc.
185
186 2000-08-26  Jim Meyering  <meyering@lucent.com>
187
188         * closeout.c: Include "__fpending.h".
189         (close_stdout_status): Return right away if there's nothing to flush.
190
191         * Makefile.am (noinst_HEADERS): Add __fpending.h.
192         * __fpending.c: New file.
193         * __fpending.h: New file.
194
195 2000-08-07  Paul Eggert  <eggert@twinsun.com>
196
197         Standardize on "memory exhausted" instead of "Memory exhausted"
198         or "virtual memory exhausted".
199         * obstack.c (print_and_abort): Use "memory exhausted", not
200         "virtual memory exhausted".
201         * same.c (same_name): Invoke xalloc_die instead of printing
202         our own message.
203         * userspec.c (parse_user_spec): Likewise.
204         * bumpalloc.h: comment fix
205         * same.c, userspec.c: Include xalloc.h.
206
207         * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
208         not char *const and pointing to a constant array.
209         * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
210         (xrealloc): Comment fix.
211
212         * userspec.c (parse_user_spec):
213         Don't translate a message until just before returning,
214         to avoid unnecessary translation.
215
216 2000-08-07  Jim Meyering  <meyering@lucent.com>
217
218         * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
219         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
220         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
221         getgroups.c, gethostname.c, getopt.h, group-member.c,
222         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
223         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
224         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
225         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
226         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
227         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
228         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
229         yesno.c: Back out Copyright date changes for each file with no change
230         this year.  This eases coordination with other programs using the same
231         source code modules.  From Paul Eggert.
232
233 2000-08-03  Greg McGary  <greg@mcgary.org>
234
235         * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
236         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
237         (EXTEND_BUFFER): Use them.
238
239 2000-08-01  Jim Meyering  <meyering@lucent.com>
240
241         * dirname.c (ISSLASH): Define.
242         (BACKSLASH_IS_PATH_SEPARATOR): Define.
243         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
244         both `\' and `/' may be use as path separators.
245         Based on a patch from Prashant TR.
246
247 2000-07-31  Paul Eggert  <eggert@twinsun.com>
248
249         * quotearg.c (quotearg_n_options): Don't make the initial
250         slot vector a constant, since it might get modified.
251
252 2000-07-31  Jim Meyering  <meyering@lucent.com>
253
254         * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
255         * obstack.c (print_and_abort): Likewise.
256
257 2000-07-30  Paul Eggert  <eggert@twinsun.com>
258
259         * quotearg.c (quotearg_n_options): Preallocate a slot 0
260         buffer, so that the caller can always quote one small
261         component of a "memory exhausted" message in slot 0.
262         From a suggestion by Jim Meyering.
263
264 2000-07-30  Jim Meyering  <meyering@lucent.com>
265
266         * makepath.c (make_path): Quote the other instance, too.
267
268         * quotearg.c (N_STATIC_SLOTVECS): Define.
269         (STATIC_BUF_SIZE): Define.
270         (quotearg_n_options): Use only statically allocated storage when
271         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
272         than STATIC_BUF_SIZE.
273
274 2000-07-29  Jim Meyering  <meyering@lucent.com>
275
276         * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
277         * dirname.c (dir_name): Likewise.
278
279         * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
280
281         * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
282         (dir_name): Assert that there are no trailing slashes.
283
284 2000-07-18  Bruno Haible  <haible@clisp.cons.org>
285
286         * mbswidth.h (mbswidth): Add a flags argument.
287         (mbswidth): New declaration.
288         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
289         * mbswidth.c (mbswidth): Add a flags argument.
290         (mbsnwidth): New function.
291
292 2000-07-24  Jim Meyering  <meyering@lucent.com>
293
294         * mbswidth.c: Remove useless #else.  From Bruno Haible.
295
296 2000-07-23  Paul Eggert  <eggert@twinsun.com>
297
298         * mbswidth.c (_XOPEN_SOURCE):
299         Don't define; this causes problems on Solaris 7.
300         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
301
302 2000-07-23  Paul Eggert  <eggert@twinsun.com>
303
304         * quotearg.c:
305         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
306         so that mbstate_t is always defined.
307
308         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
309         be 1 in at least one GCC installation, and this configuration
310         error is likely to be common.  Ignoring MB_LEN_MAX hurts
311         performance on hosts that have mbrtowc but have only unibyte
312         locales, but I assume these hosts are rare.
313
314 2000-07-23  Paul Eggert  <eggert@twinsun.com>
315
316         * quotearg.c: Streamline by invoking multibyte code only if needed.
317         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
318         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
319         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
320         invoke multibyte primitives.
321
322 2000-07-23  Jim Meyering  <meyering@lucent.com>
323
324         * basename.c (base_name): Add an assertion.
325
326 2000-07-15  Bruno Haible  <clisp.cons.org>
327
328         * quotearg.c: When the system forces us to redefine mbstate_t,
329         shadow its mbsinit function.
330
331 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
332
333         * mbswidth.h: New file.
334         * mbswidth.c: New file.
335         * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
336         (noinst_HEADERS): Add mbswidth.h.
337
338 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
339
340         * config.charset: Add support for FreeBSD. Improve support for HP-UX
341         and IRIX 6.
342
343 2000-07-15  Jim Meyering  <meyering@lucent.com>
344
345         * makepath.c: Include quote.h.
346         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
347         corresponding argument in a `quote (...)' call.
348         Give better diagnostics.
349
350         * Makefile.am (libfetish_a_SOURCES): Add quote.c.
351         (noinst_HEADERS): Add quote.h.
352
353         * quote.c (quote, quote_n): New file.  Two functions taken verbatim
354         from tar's src/misc.c.
355         * quote.h: New file.  Prototypes for same.
356
357 2000-07-10  Paul Eggert  <eggert@twinsun.com>
358
359         From a suggestion by Bruno Haible.
360         * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
361         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
362         to decide whether to define the BeOS workaround macro;
363         this adjusts to the change to AC_MBSTATE_T.
364
365 2000-07-13  Paul Eggert  <eggert@twinsun.com>
366
367         * quotearg.h (enum quoting style): New enum clocale_quoting_style.
368
369         * quotearg.c: (quoting_style_args, quoting_style_vals,
370         quotearg_buffer_restyled): Add support for
371         clocale_quoting_style.  Undo previous change to
372         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
373         and "{RIGHT QUOTATION MARK}" msgids.
374
375 2000-07-05  Paul Eggert  <eggert@twinsun.com>
376
377         The old behavior of quoting `like this' doesn't look good with
378         newer, ISO-style fonts.  See:
379         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
380
381         Instead, quote "like this" by default.  Let the translator
382         tailor the locale-specific quoting behavior by providing
383         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
384
385         * quotearg.c (N_): New macro.
386         (gettext_default): New function.
387         (quotearg_buffer_restyled): Use
388         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
389         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
390
391 2000-07-09  Jim Meyering  <meyering@lucent.com>
392
393         * Most files: Update copyright dates to include 2000.
394
395 2000-07-08  Jim Meyering  <meyering@lucent.com>
396
397         * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
398         if not defined.
399         (xgethostname): Remove now-unnecessary #ifdef.
400         Move declaration of `err' into loop where it's used.
401
402 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
403
404         * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
405         by allocating a larger buffer. Test the gethostname return value for
406         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
407         returns an error and ENAMETOOLONG isn't defined.
408
409 2000-07-05  Paul Eggert  <eggert@twinsun.com>
410         and Bruno Haible  <haible@clisp.cons.org>
411
412         * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
413
414 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
415
416         * quotearg.c (struct quoting_options): Simplify quote_these_too
417         dimension.
418
419 2000-07-03  Jim Meyering  <meyering@lucent.com>
420
421         * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
422         Reported by Bruno Haible.
423
424 2000-07-04  Jim Meyering  <meyering@lucent.com>
425
426         * quotearg.c: Make inclusion of <wchar.h> independent of whether
427         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
428         lacks mbrtowc.
429
430 2000-07-03  Paul Eggert  <eggert@twinsun.com>
431         and Bruno Haible  <haible@clisp.cons.org>
432
433         * quotearg.c (mbrtowc):
434         Assign to *pwc, and return 1 only if result is nonzero.
435         (iswprint): Use ISPRINT when substituting our own mbrtowc.
436
437 2000-07-03  Jim Meyering  <meyering@lucent.com>
438
439         * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
440         This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
441         From Bob Proulx.
442
443 2000-07-02  Jim Meyering  <meyering@lucent.com>
444
445         * quotearg.c (mbstate_t): Don't define here.
446
447 2000-07-02  Jim Meyering  <meyering@lucent.com>
448
449         * nanosleep.c (SIGCONT): Define if not already defined.
450
451 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
452
453         * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
454         per change in ../m4/ls-mntd-fs.m4.
455         (read_filesystem_list): Ignore symbolic links.
456
457 2000-06-29  Jim Meyering  <meyering@lucent.com>
458
459         * same.c: Include <string.h> or <strings.h>, as appropriate,
460         for declaration of strcmp.
461
462         * long-options.c: Include <stdlib.h>, for declaration of exit.
463
464         * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
465         Avoid warning by casting result to `char *' to remove `const'.
466
467 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
468
469         * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
470
471 2000-06-26  Paul Eggert  <eggert@twinsun.com>
472
473         savedir now sets errno on failure and invokes xmalloc to get memory.
474         Fix a couple of other minor bugs while we're at it.
475
476         * savedir.c (<unistd.h>): Do not include; there's no need.
477         (NAMLEN): Remove macro.
478         (malloc, realloc): Remove decls.
479         (stpcpy): Likewise.
480         ("xalloc.h"): Include.
481         (NAME_SIZE_DEFAULT): New macro.
482         (savedir): Use xmalloc / xrealloc to allocate memory.
483         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
484         Skip "" directory entries.
485         Use strlen to calculate directory entry length, since the old method
486         is rarely used these days and isn't worth supporting.
487         Don't use a pointer after freeing it.
488         Check for integer overflow when calculating allocation size.
489         Use memcpy to copy entries, instead of stpcpy.
490         Set errno properly when returning NULL.
491         Check for readdir error.
492
493 2000-06-26  Jim Meyering  <meyering@lucent.com>
494
495         * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
496
497 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
498
499         * getusershell.c (xmalloc, xrealloc): Remove functions.
500         Include xalloc.h.
501         Don't include <stdlib.h>.  Don't declare malloc, realloc.
502
503 2000-06-23  Bruno Haible  <haible@clisp.cons.org>
504
505         * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
506
507 2000-06-24  Jim Meyering  <meyering@lucent.com>
508
509         * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
510
511 2000-06-21  Jim Meyering  <meyering@lucent.com>
512
513         * getpass.c: New file, from Bruno Haible.  Required for BeOS.
514
515 2000-06-19  Paul Eggert  <eggert@twinsun.com>
516
517         * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
518         (mbrtowc, mbstate_t): Define substitutes if
519         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
520         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
521         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
522
523 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
524
525         * xgetcwd.c (xgetcwd): If the required pathname length is smaller
526         than 1024, return a memory chunk of least possible size, instead
527         of size PATH_MAX + 2. In the loop, increment the size proportionally.
528         Use free/xmalloc instead of xrealloc to avoid copying for very long
529         paths.
530
531 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
532
533         * canon-host.c (canon_host): Use malloc and memcpy to copy an
534         address, not strdup.  Include <stdlib.h> and don't declare free().
535
536 2000-06-17  Bruno Haible  <haible@clisp.cons.org>
537
538         * path-concat.c (path_concat): Don't access dir[-1] if dir is
539         the empty string.
540
541 2000-06-21  Jim Meyering  <meyering@lucent.com>
542
543         * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
544         (noinst_HEADERS): Add getstr.h.
545
546         * getline.c (getstr): Move into a separate file.
547         * getstr.c (getstr): New file, extracted from getline.c, with
548         the following changes: new parameter, delim2; both delim[12]
549         parameters have type `int', not `char'.  The latter would lose
550         with 8-bit delimiters.
551         * getstr.h: New file.
552
553 2000-06-19  Jim Meyering  <meyering@lucent.com>
554
555         * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
556
557 2000-06-18  Jim Meyering  <meyering@lucent.com>
558
559         * mkdir.c: Remove file, due mainly to copyright incompatibility.
560         Besides, these days every porting target provides a mkdir function.
561
562         * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
563         (this snippet comes from src/system.h).
564
565 2000-06-15  Paul Eggert  <eggert@twinsun.com>
566
567         * human.c (adjust_value): New function.
568         (human_readable_inexact): Apply rounding style even when
569         printing approximate values.
570
571 2000-06-14  Paul Eggert  <eggert@twinsun.com>
572
573         * human.c (human_readable_inexact): Allow an input block
574         size that is not a multiple of the output block size, and vice versa.
575         Reported by Piergiorgio Sartor.
576
577 2000-06-14  Paul Eggert  <eggert@twinsun.com>
578
579         * getdate.y (get_date): Apply relative times after time
580         zone indicator, not before.  Reported by Todd A. Jacobs.
581
582 2000-06-13  Jim Meyering  <meyering@lucent.com>
583
584         * Makefile.am (all-local): Depend on lstat.c and stat.c.
585
586         * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
587
588 2000-06-12  Paul Eggert  <eggert@twinsun.com>
589
590         * xstat.in: Include <stdlib.h> in lstat, to declare "free".
591
592 2000-06-04  Paul Eggert  <eggert@twinsun.com>
593
594         * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
595
596 2000-06-04  Jim Meyering  <meyering@lucent.com>
597
598         * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
599         SunOS4.1.4 for which gid_t is an unsigned type.
600
601 2000-06-03  Jim Meyering  <meyering@lucent.com>
602
603         * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
604
605 2000-05-26  Bruno Haible  <haible@clisp.cons.org>
606
607         * Makefile.am (install-exec-local): On systems with glibc-2.1 or
608         newer, don't install charset.alias.
609         * config.charset: Change the Linux/glibc rules so they become empty
610         on glibc-2.1 or newer.
611
612 2000-06-02  Jim Meyering  <meyering@lucent.com>
613
614         * mountlist.c: Back out last change.  Instead, do this...
615         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
616         member using the same `ignore'-testing code.
617         * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
618         fs_type strings.
619         From Mark D. Roth.
620
621 2000-05-29  Jim Meyering  <meyering@lucent.com>
622
623         * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
624         with the `ignore' attribute.  Based on a patch from Mark D. Roth.
625
626 2000-05-22  Jim Meyering  <meyering@lucent.com>
627
628         * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
629
630 2000-05-18  Jim Meyering  <meyering@lucent.com>
631
632         * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
633         back, too, since it may have been modified by allocate_entry.
634         (hash_delete): Rewrite to use neither the assignment operator
635         nor the comma operator in an if-expression.
636
637 2000-05-15  Paul Eggert  <eggert@twinsun.com>
638
639         * closeout.c:
640         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
641         Remove; no longer needed.
642         "quotearg.h": Add include.
643         (file_name): Do not bother to explicitly initialize to NULL; it's less
644         efficient on some hosts.
645         (close_stdout_status): Remove test as to whether stdout was already
646         closed; it breaks for the case "echo x | sort >&-".
647         Quote file name colons.
648         Do not assume that _("write error") lacks format strings.
649
650 2000-05-15  Jim Meyering  <meyering@lucent.com>
651
652         * version-etc.c (version_etc_copyright): Update the copyright string
653         used in all --version output.
654
655 2000-05-14  Jim Meyering  <meyering@lucent.com>
656
657         * closeout.c (close_stdout_set_file_name): New function.
658         (close_stdout_status): Use new file-scoped global.
659         Return right away if fstat says the stdout file descriptor is invalid.
660         * closeout.h (close_stdout_set_file_name): Declare.
661
662 2000-05-10  Jim Meyering  <meyering@lucent.com>
663
664         * closeout.c [default_exit_status]: New file-scoped variable.
665         (close_stdout_set_status): New function.
666         * closeout.h (close_stdout_set_status): Declare.
667
668 2000-05-08  Jim Meyering  <meyering@lucent.com>
669
670         * long-options.c: Don't include closeout.h.
671         (parse_long_options): Don't call close_stdout for --version.
672
673 2000-05-06  Jim Meyering  <meyering@lucent.com>
674
675         * strnlen.c: Undefine __strnlen and strnlen.
676         [!weak_alias]: Define __strnlen to strnlen.
677
678         * atexit.c: New file, from libiberty.
679
680 2000-05-06  Jim Meyering  <meyering@lucent.com>
681
682         * closeout.c (close_stdout_status): Also check for errors on the
683         stderr stream.
684
685 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
686
687         * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
688         instead of xmalloc, xrealloc, path_concat.
689         (locale_charset): Treat empty environment variables as absent.
690         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
691
692 2000-05-04  Jim Meyering  <meyering@lucent.com>
693
694         * getopt.c: Update from glibc.
695         * obstack.c: Likewise.
696         * obstack.h: Likewise.
697         * regex.c: Likewise.  NB: K&R compiler support is dropped for this file
698
699         * regex.h: Likewise.
700         * strndup.c: Likewise.
701         * strnlen.c: New file, from glibc.
702
703 2000-05-01  Jim Meyering  <meyering@lucent.com>
704
705         * full-write.c (full_write): Remove `FIXME' part of comment.
706
707 2000-04-29  Jim Meyering  <meyering@lucent.com>
708
709         * path-concat.c: Declare strdup only if it's not defined.
710         * canon-host.c: Likewise.
711
712 2000-04-28  Jim Meyering  <meyering@lucent.com>
713
714         * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
715         redefinition warning on some systems (HPUX).  Otherwise, regex.h is
716         included first, then limits.h is included by locale.h by libintl.h.
717         From John David Anglin.
718
719 2000-04-25  Jim Meyering  <meyering@lucent.com>
720
721         * makepath.c (S_IRWXUGO): Define.
722         (make_path): Always perform explicit chmod if MODE specifies any
723         of the `special' permission bits.  Prompted by a bug report against
724         install from Mate Wierdl and Joost van Baal.
725
726 2000-04-18  Jim Meyering  <meyering@lucent.com>
727
728         * README: New file.
729
730         * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
731         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
732
733 2000-04-17  Jim Meyering  <meyering@lucent.com>
734
735         * strftime.c (my_strftime) [strftime]: Declare strftime here, since
736         the definition of it to rpl_strftime also defined-away the system's
737         declaration.
738
739 2000-04-15  Jim Meyering  <meyering@lucent.com>
740
741         Use `C' to denote so-called `contiguous' files, the same way
742         that tar does.
743         * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
744         (ftypelet): Use S_ISCTG.
745         From Michael Deutschmann.
746
747 2000-04-14  Jim Meyering  <meyering@lucent.com>
748
749         * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
750
751 2000-04-08  Jim Meyering  <meyering@lucent.com>
752
753         * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
754         names don't conflict.  Reported by Eli Zaretskii.
755
756 2000-03-28  Bruno Haible  <haible@clisp.cons.org>
757
758         * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
759         bug.  Deal with the different error behavior of Irix iconv.
760
761 2000-04-07  Jim Meyering  <meyering@lucent.com>
762
763         * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
764         to work around system header problems on AIX 3.2.5.  From Bruno Haible.
765
766 2000-04-05  Jim Meyering  <meyering@lucent.com>
767
768         Portability tweaks required for ultrix4.3.
769         * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
770         * readutmp.c: Include sys/types.h before sys/stat.h.
771         * canon-host.c: Declare strdup.
772         * path-concat.c: Likewise.
773         From John David Anglin.
774
775 2000-04-04  Jim Meyering  <meyering@lucent.com>
776
777         Be more DOS 8.3-friendly.
778         * ref-add.sin: Renamed from ref-add.sed.in.
779         * ref-del.sin: Renamed from ref-del.sed.in.
780         * Makefile.am: Reflect renaming.
781         Reported by Eli Zaretskii.
782
783         Use a temporary file name that won't clash with `charset.alias'
784         in the DOS 8.3 name space.
785         * Makefile.am (charset_tmp): Define.
786         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
787         (uninstall-local): Likewise.
788         Reported by Eli Zaretskii.
789
790 2000-03-29  Paul Eggert  <eggert@twinsun.com>
791
792         * time/strftime.c (my_strftime): Make sure we call the system
793         strftime, not ourselves, when invoking the underlying strftime.
794
795 2000-03-24  Jim Meyering  <meyering@lucent.com>
796
797         * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
798         (charset_alias): Define.
799         (install-exec-local): Factor out common code.
800         (uninstall-local): Split lines longer than 80.
801         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
802         (SUFFIXES): Define.
803         (.sed.in.sed): New rule.  Don't redirect directly to $@.
804         (CLEANFILES): Add ref-add.sed and ref-del.sed.
805
806 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
807
808         * config.charset: Output a line containing "Packages using this file".
809         * ref-add.sed.in, ref-del.sed.in: New files.
810         * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
811         ref-del.sed): New rules.
812
813 2000-03-17  Jim Meyering  <meyering@lucent.com>
814
815         * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
816         Otherwise, include <strings.h>
817
818 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
819
820         * unicodeio.c (utf8_wctomb): New function.
821         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
822         format instead of in UCS-4 with platform dependent endianness.
823
824 2000-03-07  Paul Eggert  <eggert@twinsun.com>
825
826         * savedir.c (savedir): Work even if directory size is
827         negative; this can happen with some screwy NFS configurations.
828
829 2000-03-06  Jim Meyering  <meyering@lucent.com>
830
831         * localcharset.c (get_charset_aliases): Don't try to free file_name
832         if it's NULL (because we ran out of memory).  From Bruno Haible.
833
834 2000-03-05  Jim Meyering  <meyering@lucent.com>
835
836         * localcharset.c ("path-concat.h"): Include.
837         (get_charset_aliases): Use path_concat instead of ANSI string
838         concatenation.
839
840         * unicodeio.h (PARAMS): Define.
841         Use it to guard prototype.
842
843 2000-03-04  Jim Meyering  <meyering@lucent.com>
844
845         * Makefile.am (install-exec-local): Create $(libdir) before installing
846         into it.
847         (uninstall-local): Uncomment this rule so `make distcheck' works
848         once again.
849
850         * unicodeio.c (<errno.h>): Include it.
851         (errno): Declare if not defined.
852
853         * localcharset.c: Add Bruno's comment justifying use of volatile.
854
855         * config.charset: New version, incorporating remarks from a linux
856         i18n mailing list.  From Bruno Haible.
857
858 2000-03-02  Jim Meyering  <meyering@lucent.com>
859
860         * Makefile.am (EXTRA_DIST): Add config.charset.
861
862 2000-03-01  Jim Meyering  <meyering@lucent.com>
863
864         * localcharset.c: Guard some #includes with `#if HAVE_...'.
865         * unicodeio.c: Likewise.
866
867 2000-02-02  Bruno Haible  <haible@clisp.cons.org>
868
869         * config.charset: New file.
870         * localcharset.c: New file.
871         * unicodeio.h, unicodeio.c: New files.
872         * Makefile.am (DEFS): Add -DLIBDIR=...
873         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
874         (noinst_HEADERS): Add unicodeio.h.
875         (all-local, install-exec-local, charset.alias): New targets.
876
877 2000-02-28  Paul Eggert  <eggert@twinsun.com>
878
879         * quotearg.c (ALERT_CHAR): New macro.
880         (quotearg_buffer_restyled): Use it.
881
882 2000-02-27  Jim Meyering  <meyering@lucent.com>
883
884         * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
885         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
886
887         * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
888         not `#if STDC_HEADERS'.
889         Declare malloc if needed.
890
891         * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
892         now that autoconf always defines the HAVE_DECL_ symbols.
893         * human.c: Likewise.
894         * same.c: Likewise.
895         * strtoumax.c: Likewise.
896
897         * backupfile.c: Arrange for cpp to fail if the configure-time
898         declaration check was not run.
899         * hash.c: Likewise.
900         * human.c: Likewise.
901         * same.c: Likewise.
902         * strtoumax.c: Likewise.
903
904         * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
905         then first look up the entire `.'-containing string as a login name.
906
907 2000-02-18  Paul Eggert  <eggert@twinsun.com>
908
909         * getdate.y: Handle two-digit years with leading zeros correctly.
910         (textint): New typedef.
911         (parser_control): Member year changed from int to textint.
912         All uses changed.
913         (YYSTYPE): Removed; replaced by %union with int and textint members.
914         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
915         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
916         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
917         (tSNUMBER, tUNUMBER): Now of type <textintval>.
918         (date, number, to_year): Use width of number in digits, not its value,
919         to determine whether it's a 2-digit year, or a 2-digit time.
920         (yylex): Store number of digits of numeric tokens.
921         Reported by John Kendall.
922
923         (parser_control): Changed from struct parser_control to typedef (for
924         consistency).  All uses changed.
925
926         (tID): Removed; not used.
927         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
928
929 2000-02-14  Paul Eggert  <eggert@twinsun.com>
930
931         * getpagesize.h (getpagesize): Port to VMS for Alpha;
932         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
933
934 2000-02-12  Jim Meyering  <meyering@lucent.com>
935
936         * userspec.c (ISDIGIT): Define it.
937         (isdigit): Remove definition.
938         (is_number): Use ISDIGIT, not isdigit.
939         <libintl.h>: Include.
940         (_ and N_): Define.
941         (parse_user_spec): Mark translatable strings.
942
943 2000-02-10  Jim Meyering  <meyering@lucent.com>
944
945         With these changes, nanosleep.[ch] are finally enough like the other
946         lib/* replacement files to compile on a few more losing systems.
947
948         * nanosleep.h: Don't include config.h.
949         Remove prototype from declaration of nanosleep.
950         (PARAMS): Remove now-unneeded definition.
951         * nanosleep.c: #undef nanosleep.
952         (rpl_nanosleep): Rename from nanosleep.
953
954 2000-02-03  Jim Meyering  <meyering@lucent.com>
955
956         * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
957         rather than with `#if HAVE_UTMPNAME'.
958
959 2000-02-01  Jim Meyering  <meyering@lucent.com>
960
961         * readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
962
963 2000-01-31  Jim Meyering  <meyering@lucent.com>
964
965         * nanosleep.h (nanosleep): Guard declaration with
966         `#if ! HAVE_DECL_NANOSLEEP'.
967         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
968         the declaration in that vendor's sys/timers.h.
969         Reported by Christian Krackowizer.
970
971         * quotearg.c (ISASCII): Add #undef and move definition to follow
972         inclusion of wctype.h to work around solaris2.6 namespace pollution.
973         (ISPRINT): Likewise.
974         Reported by Tom Tromey.
975
976 2000-01-30  Jim Meyering  <meyering@lucent.com>
977
978         * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
979         uses of ->ut_name.  The latter doesn't work with new Linux header files
980         where only utmpx.ut_user is declared.
981
982         * readutmp.h (UT_USER): Define.
983
984 2000-01-23  Jim Meyering  <meyering@lucent.com>
985
986         * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
987         obstack.c.
988
989 2000-01-22  Jim Meyering  <meyering@lucent.com>
990
991         * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
992         [! HAVE_DECL_STRTOULL]: Declare strtoull.
993         Required for some AIX systems.  Reported by Christian Krackowizer.
994         [TESTING] (main): New function.
995
996         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
997         * dirname.c (dir_name): Support for DOS-style file names with drive
998         letters.
999
1000         * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1001
1002         * strverscmp.c (ISDIGIT): Define.
1003         (strverscmp): Use ISDIGIT, not isdigit.
1004
1005 2000-01-17  Paul Eggert  <eggert@twinsun.com>
1006
1007         * nanosleep.c (nanosleep):
1008         Don't use SA_INTERRUPT to decide whether to call sigaction, as
1009         POSIX.1 doesn't require SA_INTERRUPT and some systems
1010         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
1011         it's been part of POSIX.1 since day 1 (in 1988).
1012
1013 2000-01-17  Jim Meyering  <meyering@lucent.com>
1014
1015         * interlock: Remove unused file.  Reported by François Pinard.
1016
1017 2000-01-16  Paul Eggert  <eggert@twinsun.com>
1018
1019         * quotearg.c (quotearg_buffer_restyled): Do not quote
1020         alert, backslash, formfeed, and vertical tab unnecessarily in
1021         shell quoting style.
1022
1023 Local Variables:
1024 version-control: never
1025 End: