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