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