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