1 2000-12-29 Paul Eggert <eggert@twinsun.com>
3 * lib/modechange.c: Do not assume that mode_t uses the
4 traditional octal encoding. E.g. "chmod 1 FOO" should set
5 the other-execute bit of FOO even if S_IXOTH != 1.
7 (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
8 WOTH, XOTH, ALLM): New macros.
9 (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
10 S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
12 (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
13 (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
15 No need to use uintmax_t; unsigned long is long enough.
16 Don't bother to get suffix since we don't use it.
18 2000-12-24 Jim Meyering <meyering@lucent.com>
20 * hash.c (is_prime): Return explicit boolean values.
21 (hash_get_first): Return NULL to appease Irix5.6's 89.
22 Reported by Nelson Beebe.
24 2000-10-31 Bruno Haible <haible@clisp.cons.org>
26 * localcharset.c (locale_charset): Add support for Win32.
28 2000-12-18 Paul Eggert <eggert@twinsun.com>
30 * physmem.h, physmem.c: New files.
32 * Makefile.am (libfetish_a_SOURCES): Add physmem.c.
33 (noinst_HEADERS): Add physmem.h.
35 * xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
36 't' for compatibility with Solaris 8 sort.
38 2000-12-18 Bruno Haible <haible@clisp.cons.org>
40 * config.charset: Add support for BeOS.
42 2000-12-16 Jim Meyering <meyering@lucent.com>
44 * getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
45 SHELLS_FILE to a file name that's useful on djgpp systems.
47 (ADDITIONAL_DEFAULT_SHELLS): Define.
48 (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
49 Based mostly on a patch from Prashant TR.
51 2000-12-16 Jim Meyering <meyering@lucent.com>
53 This bug had a serious impact on chown: `chown N:M FILE' (for integer
54 N and M) would have treated it like `chown N:N FILE'.
56 * userspec.c (parse_user_spec): Fix typo: s/u/g/.
58 2000-10-31 Bruno Haible <haible@clisp.cons.org>
60 * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
61 CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
62 to the list of canonical encodings. Rename EUC-CN to GB2312.
64 2000-12-08 Andreas Schwab <schwab@suse.de>
66 * mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
67 invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
69 2000-12-07 Jim Meyering <meyering@lucent.com>
71 * stripslash.c (ISSLASH): Define.
72 (strip_trailing_slashes): Use ISSLASH rather than comparing against `/'.
75 * dirname.c (FILESYSTEM_PREFIX_LEN): Define.
76 (dir_name_r): Declare this function as static.
77 [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
78 manifest itself on a name containing a mix of slashes and
80 Make this function work with names starting with a DOS-style
81 drive letter and colon prefix.
82 (dir_name): Append `.' if necessary.
83 Based mostly on patches from Prashant TR and Eli Zaretskii.
85 * dirname.h (dir_name_r): Remove prototype.
87 2000-12-05 Jim Meyering <meyering@lucent.com>
89 * dirname.c (dir_name_r): Add `const' in a few local declarations.
91 2000-12-04 Jim Meyering <meyering@lucent.com>
93 * path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
94 Also include memory.h, stdlib.h, unistd.h if appropriate.
95 Reported by Andreas Jaeger (conflicting declaration of malloc).
97 2000-12-02 Jim Meyering <meyering@lucent.com>
99 * closeout.h: Make idempotent, to avoid some obscure warnings.
101 2000-12-01 Paul Eggert <eggert@twinsun.com>
103 * lib/memrchr.c: Include <config.h> before any system include file.
105 2000-11-29 Paul Eggert <eggert@twinsun.com>
107 * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
109 2000-11-26 Jim Meyering <meyering@lucent.com>
111 * memcoll.c: Include sys/types.h. From Werner Almesberger.
113 2000-11-22 Paul Eggert <eggert@twinsun.com>
115 * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
116 size of (size_t) -1; it's not portable.
118 2000-11-17 Akim Demaille <akim@epita.fr>
120 * lib/obstack.h: Formatting changes.
121 (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
122 prevent type checking.
123 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
124 cast the value to (void *): assigning a `foo *' to a `void *'
126 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
128 2000-11-17 Jim Meyering <meyering@lucent.com>
130 * strstr.c: Update from GNU libc.
132 2000-11-16 Jim Meyering <meyering@lucent.com>
134 * strverscmp.c: Incorporate weak-alias-related changes from glibc.
136 2000-11-11 Jim Meyering <meyering@lucent.com>
138 * error.c: Add a couple #includes, merging from GNU libc version.
140 2000-11-10 Jim Meyering <meyering@lucent.com>
142 * obstack.h: Update from GNU libc.
143 * obstack.c: Likewise.
145 2000-11-06 Paul Eggert <eggert@twinsun.com>
147 * getusershell.c (setusershell): Use rewind rather than
148 fseek/fseeko, to avoid configuration hassles with fseeko.
149 Don't bother opening SHELLS_FILE if shellstream is NULL;
152 2000-11-05 Jim Meyering <meyering@lucent.com>
154 * makepath.h (make_dir): Declare.
155 * makepath.c (make_dir): Remove `static' attribute.
158 2000-11-04 Alexandre Duret-Lutz <duret_g@epita.fr>
160 * hash.c (hash_get_next): Fix a thinko: when ENTRY is the
161 last one in a bucket, advance to the next bucket.
163 2000-11-02 Vesselin Atanasov <vesselin@bgnet.bg>
165 * fnmatch.c: Do not comment out all the code if we are using
166 the GNU C library, because in some cases we are replacing buggy
167 code in the GNU C library itself.
169 2000-10-30 Paul Eggert <eggert@twinsun.com>
171 * error.h, getline.h, modechange.h:
172 Remove "2000" from Copyright line, as the file hasn't been
173 changed this year other than in the copyright notice.
175 * xalloc.h: Add "2000" to Copyright line, as this file
176 was changed this year.
178 2000-10-30 Paul Eggert <eggert@twinsun.com>
180 * fnmatch.c (FOLD): Do not assume that characters are unsigned.
181 (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
182 e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
184 2000-10-29 Greg Louis <glouis@dynamicro.on.ca>
186 * regex.h (__restrict_arr): Move definition out of #ifndef block.
187 Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
188 doesn't define __restrict_arr.
190 2000-10-29 Jim Meyering <meyering@lucent.com>
192 * xstat.in: Fix grammar in comment.
194 2000-10-28 Jim Meyering <meyering@lucent.com>
196 * memchr.c: Update from libc.
197 Adjust for portability:
198 [HAVE_STDLIB_H]: Include stdlib.h.
199 [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
201 [!weak_alias]: Define __memchr to memchr.
203 * regex.c: Update from libc.
205 * getopt1.c: Likewise.
206 * memcmp.c: Likewise.
208 * getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
209 Avoid using fseek, when possible -- it's broken by design.
210 Patch by Ulrich Drepper.
212 2000-10-26 Jim Meyering <meyering@lucent.com>
214 * strftime.c: Update from libc.
216 2000-10-25 Jim Meyering <meyering@lucent.com>
218 * obstack.c: Update from libc.
220 2000-10-23 Jim Meyering <meyering@lucent.com>
222 * hard-locale.c (hard_locale): Revert last change -- it was simply
223 wrong. That set_locale call must not have any side effects.
226 2000-10-22 Jim Meyering <meyering@lucent.com>
228 * md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
229 [CYCLIC]: Remove now-unused definition.
231 * save-cwd.c (O_DIRECTORY): Define, if needed.
232 (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
233 Suggestion from Ulrich Drepper.
235 2000-10-21 Jim Meyering <meyering@lucent.com>
237 * dirname.c (dir_name_r): New function, factored out of dir_name.
238 (dir_name): Use dir_name_r.
239 * dirname.h (dir_name_r): Declare it.
241 2000-10-21 Jim Meyering <meyering@lucent.com>
243 * dirname.c (memrchr): Declare if necessary.
244 (dir_name): Remove the restriction that there be no
245 trailing slashes. Now, this code skips past them, effectively
247 [TEST_DIRNAME] (main): New unit tests.
249 * memrchr.c: New file from GNU libc.
250 Undef __memrchr, too.
251 [!weak_alias]: Define __memrchr to memrchr.
252 Guard weak_alias use with `#ifdef weak_alias'.
254 2000-10-17 Jim Meyering <meyering@lucent.com>
256 * quote.h (PARAMS): Define and use.
257 Reported by Akim Demaille.
259 * getopt.c: Update from libc.
261 2000-10-16 Jim Meyering <meyering@lucent.com>
263 * hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to setlocale.
266 2000-09-25 Jim Meyering <meyering@lucent.com>
268 * md5.h (rol): Define (from GnuPG).
270 * sha.c: Give credit (GnuPG) where due.
271 (M): Use rol rather than open-coding it.
274 2000-09-21 Jim Meyering <meyering@lucent.com>
276 * userspec.c (parse_user_spec): Remove debugging printf I'd added.
277 Reported by Michael Stone.
279 2000-09-20 Jim Meyering <meyering@lucent.com>
281 * Makefile.am (libfetish_a_SOURCES): Add sha.c.
282 (noinst_HEADERS): Add sha.h.
283 Based on code from Scott G. Miller and from GnuPG.
285 2000-09-15 Jim Meyering <meyering@lucent.com>
287 * regex.c: Update from libc.
289 2000-09-10 Jim Meyering <meyering@lucent.com>
291 * getopt.c (_getopt_internal): Update from glibc.
293 2000-09-09 Jim Meyering <meyering@lucent.com>
295 * quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
296 think it should be used as a general replacement for isascii.
297 * fnmatch.c: Likewise.
298 * mbswidth.c: Likewise
302 * userspec.c: Include sys/param.h and limits.h.
304 (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
305 (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
306 (parse_user_spec): Use xstrtoul, not atoi when converting numeric
307 UID, GID. Check range.
309 2000-09-06 Jim Meyering <meyering@lucent.com>
311 * getopt.c (_getopt_internal): Update from glibc.
313 2000-08-30 Jim Meyering <meyering@lucent.com>
315 * strftime.c: Merge in changes from GNU libc.
317 2000-08-26 Jim Meyering <meyering@lucent.com>
319 * closeout.c: Include "__fpending.h".
320 (close_stdout_status): Return right away if there's nothing to flush.
322 * Makefile.am (noinst_HEADERS): Add __fpending.h.
323 * __fpending.c: New file.
324 * __fpending.h: New file.
326 2000-08-07 Paul Eggert <eggert@twinsun.com>
328 Standardize on "memory exhausted" instead of "Memory exhausted"
329 or "virtual memory exhausted".
330 * obstack.c (print_and_abort): Use "memory exhausted", not
331 "virtual memory exhausted".
332 * same.c (same_name): Invoke xalloc_die instead of printing
334 * userspec.c (parse_user_spec): Likewise.
335 * bumpalloc.h: comment fix
336 * same.c, userspec.c: Include xalloc.h.
338 * xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
339 not char *const and pointing to a constant array.
340 * xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
341 (xrealloc): Comment fix.
343 * userspec.c (parse_user_spec):
344 Don't translate a message until just before returning,
345 to avoid unnecessary translation.
347 2000-08-07 Jim Meyering <meyering@lucent.com>
349 * addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
350 chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
351 fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
352 getgroups.c, gethostname.c, getopt.h, group-member.c,
353 hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
354 linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
355 memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
356 pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
357 stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
358 strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
359 utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
360 yesno.c: Back out Copyright date changes for each file with no change
361 this year. This eases coordination with other programs using the same
362 source code modules. From Paul Eggert.
364 2000-08-03 Greg McGary <greg@mcgary.org>
366 * regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
367 ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
368 (EXTEND_BUFFER): Use them.
370 2000-08-01 Jim Meyering <meyering@lucent.com>
372 * dirname.c (ISSLASH): Define.
373 (BACKSLASH_IS_PATH_SEPARATOR): Define.
374 (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
375 both `\' and `/' may be use as path separators.
376 Based on a patch from Prashant TR.
378 2000-07-31 Paul Eggert <eggert@twinsun.com>
380 * quotearg.c (quotearg_n_options): Don't make the initial
381 slot vector a constant, since it might get modified.
383 2000-07-31 Jim Meyering <meyering@lucent.com>
385 * xmalloc.c: Use `virtual memory exhausted', not `Memory exhausted'.
386 * obstack.c (print_and_abort): Likewise.
388 2000-07-30 Paul Eggert <eggert@twinsun.com>
390 * quotearg.c (quotearg_n_options): Preallocate a slot 0
391 buffer, so that the caller can always quote one small
392 component of a "memory exhausted" message in slot 0.
393 From a suggestion by Jim Meyering.
395 2000-07-30 Jim Meyering <meyering@lucent.com>
397 * makepath.c (make_path): Quote the other instance, too.
399 * quotearg.c (N_STATIC_SLOTVECS): Define.
400 (STATIC_BUF_SIZE): Define.
401 (quotearg_n_options): Use only statically allocated storage when
402 N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
403 than STATIC_BUF_SIZE.
405 2000-07-29 Jim Meyering <meyering@lucent.com>
407 * diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
408 * dirname.c (dir_name): Likewise.
410 * basename.c (base_name): Use ISSLASH rather than comparing against `/'.
412 * dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
413 (dir_name): Assert that there are no trailing slashes.
415 2000-07-18 Bruno Haible <haible@clisp.cons.org>
417 * mbswidth.h (mbswidth): Add a flags argument.
418 (mbswidth): New declaration.
419 (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
420 * mbswidth.c (mbswidth): Add a flags argument.
421 (mbsnwidth): New function.
423 2000-07-24 Jim Meyering <meyering@lucent.com>
425 * mbswidth.c: Remove useless #else. From Bruno Haible.
427 2000-07-23 Paul Eggert <eggert@twinsun.com>
429 * mbswidth.c (_XOPEN_SOURCE):
430 Don't define; this causes problems on Solaris 7.
431 (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
433 2000-07-23 Paul Eggert <eggert@twinsun.com>
436 Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
437 so that mbstate_t is always defined.
439 Do not inspect MB_LEN_MAX, since it's incorrectly defined to
440 be 1 in at least one GCC installation, and this configuration
441 error is likely to be common. Ignoring MB_LEN_MAX hurts
442 performance on hosts that have mbrtowc but have only unibyte
443 locales, but I assume these hosts are rare.
445 2000-07-23 Paul Eggert <eggert@twinsun.com>
447 * quotearg.c: Streamline by invoking multibyte code only if needed.
448 <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
449 (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
450 (quotearg_buffer_restyled): If a unibyte locale, don't bother to
451 invoke multibyte primitives.
453 2000-07-23 Jim Meyering <meyering@lucent.com>
455 * basename.c (base_name): Add an assertion.
457 2000-07-15 Bruno Haible <clisp.cons.org>
459 * quotearg.c: When the system forces us to redefine mbstate_t,
460 shadow its mbsinit function.
462 2000-07-16 Bruno Haible <haible@clisp.cons.org>
464 * mbswidth.h: New file.
465 * mbswidth.c: New file.
466 * Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
467 (noinst_HEADERS): Add mbswidth.h.
469 2000-07-17 Bruno Haible <haible@clisp.cons.org>
471 * config.charset: Add support for FreeBSD. Improve support for HP-UX
474 2000-07-15 Jim Meyering <meyering@lucent.com>
476 * makepath.c: Include quote.h.
477 (make_path): Convert "`%s'" in format strings to "%s", and wrap each
478 corresponding argument in a `quote (...)' call.
479 Give better diagnostics.
481 * Makefile.am (libfetish_a_SOURCES): Add quote.c.
482 (noinst_HEADERS): Add quote.h.
484 * quote.c (quote, quote_n): New file. Two functions taken verbatim
485 from tar's src/misc.c.
486 * quote.h: New file. Prototypes for same.
488 2000-07-10 Paul Eggert <eggert@twinsun.com>
490 From a suggestion by Bruno Haible.
491 * quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
492 Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
493 to decide whether to define the BeOS workaround macro;
494 this adjusts to the change to AC_MBSTATE_T.
496 2000-07-13 Paul Eggert <eggert@twinsun.com>
498 * quotearg.h (enum quoting style): New enum clocale_quoting_style.
500 * quotearg.c: (quoting_style_args, quoting_style_vals,
501 quotearg_buffer_restyled): Add support for
502 clocale_quoting_style. Undo previous change to
503 locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
504 and "{RIGHT QUOTATION MARK}" msgids.
506 2000-07-05 Paul Eggert <eggert@twinsun.com>
508 The old behavior of quoting `like this' doesn't look good with
509 newer, ISO-style fonts. See:
510 http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
512 Instead, quote "like this" by default. Let the translator
513 tailor the locale-specific quoting behavior by providing
514 translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
516 * quotearg.c (N_): New macro.
517 (gettext_default): New function.
518 (quotearg_buffer_restyled): Use
519 gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
520 gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
522 2000-07-09 Jim Meyering <meyering@lucent.com>
524 * Most files: Update copyright dates to include 2000.
526 2000-07-08 Jim Meyering <meyering@lucent.com>
528 * xgethostname.c (ENAMETOOLONG): Define to an unlikely value
530 (xgethostname): Remove now-unnecessary #ifdef.
531 Move declaration of `err' into loop where it's used.
533 2000-07-05 Bruno Haible <haible@clisp.cons.org>
535 * xgethostname.c (xgethostname): Protect against the SunOS5.5 bug
536 by allocating a larger buffer. Test the gethostname return value for
537 being >= 0, not == 0, for BeOS. Don't exhaust memory if gethostname
538 returns an error and ENAMETOOLONG isn't defined.
540 2000-07-05 Paul Eggert <eggert@twinsun.com>
541 and Bruno Haible <haible@clisp.cons.org>
543 * quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
545 2000-07-05 Bruno Haible <haible@clisp.cons.org>
547 * quotearg.c (struct quoting_options): Simplify quote_these_too
550 2000-07-03 Jim Meyering <meyering@lucent.com>
552 * strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
553 Reported by Bruno Haible.
555 2000-07-04 Jim Meyering <meyering@lucent.com>
557 * quotearg.c: Make inclusion of <wchar.h> independent of whether
558 HAVE_MBRTOWC is set. Required at least for irix-5.6, which
561 2000-07-03 Paul Eggert <eggert@twinsun.com>
562 and Bruno Haible <haible@clisp.cons.org>
564 * quotearg.c (mbrtowc):
565 Assign to *pwc, and return 1 only if result is nonzero.
566 (iswprint): Use ISPRINT when substituting our own mbrtowc.
568 2000-07-03 Jim Meyering <meyering@lucent.com>
570 * readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
571 This is necessary to get a definition of e.g., UTMP_FILE on HP-UX 10.20.
574 2000-07-02 Jim Meyering <meyering@lucent.com>
576 * quotearg.c (mbstate_t): Don't define here.
578 2000-07-02 Jim Meyering <meyering@lucent.com>
580 * nanosleep.c (SIGCONT): Define if not already defined.
582 2000-06-17 Bruno Haible <haible@clisp.cons.org>
584 * mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
585 per change in ../m4/ls-mntd-fs.m4.
586 (read_filesystem_list): Ignore symbolic links.
588 2000-06-29 Jim Meyering <meyering@lucent.com>
590 * same.c: Include <string.h> or <strings.h>, as appropriate,
591 for declaration of strcmp.
593 * long-options.c: Include <stdlib.h>, for declaration of exit.
595 * mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
596 Avoid warning by casting result to `char *' to remove `const'.
598 2000-06-17 Bruno Haible <haible@clisp.cons.org>
600 * Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
602 2000-06-26 Paul Eggert <eggert@twinsun.com>
604 savedir now sets errno on failure and invokes xmalloc to get memory.
605 Fix a couple of other minor bugs while we're at it.
607 * savedir.c (<unistd.h>): Do not include; there's no need.
608 (NAMLEN): Remove macro.
609 (malloc, realloc): Remove decls.
611 ("xalloc.h"): Include.
612 (NAME_SIZE_DEFAULT): New macro.
613 (savedir): Use xmalloc / xrealloc to allocate memory.
614 Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
615 Skip "" directory entries.
616 Use strlen to calculate directory entry length, since the old method
617 is rarely used these days and isn't worth supporting.
618 Don't use a pointer after freeing it.
619 Check for integer overflow when calculating allocation size.
620 Use memcpy to copy entries, instead of stpcpy.
621 Set errno properly when returning NULL.
622 Check for readdir error.
624 2000-06-26 Jim Meyering <meyering@lucent.com>
626 * posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
628 2000-06-17 Bruno Haible <haible@clisp.cons.org>
630 * getusershell.c (xmalloc, xrealloc): Remove functions.
632 Don't include <stdlib.h>. Don't declare malloc, realloc.
634 2000-06-23 Bruno Haible <haible@clisp.cons.org>
636 * unicodeio.c (print_unicode_char): Work around ansi2knr deficiency.
638 2000-06-24 Jim Meyering <meyering@lucent.com>
640 * error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
642 2000-06-21 Jim Meyering <meyering@lucent.com>
644 * getpass.c: New file, from Bruno Haible. Required for BeOS.
646 2000-06-19 Paul Eggert <eggert@twinsun.com>
648 * quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
649 (mbrtowc, mbstate_t): Define substitutes if
650 HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
651 (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
652 not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
654 2000-06-17 Bruno Haible <haible@clisp.cons.org>
656 * xgetcwd.c (xgetcwd): If the required pathname length is smaller
657 than 1024, return a memory chunk of least possible size, instead
658 of size PATH_MAX + 2. In the loop, increment the size proportionally.
659 Use free/xmalloc instead of xrealloc to avoid copying for very long
662 2000-06-17 Bruno Haible <haible@clisp.cons.org>
664 * canon-host.c (canon_host): Use malloc and memcpy to copy an
665 address, not strdup. Include <stdlib.h> and don't declare free().
667 2000-06-17 Bruno Haible <haible@clisp.cons.org>
669 * path-concat.c (path_concat): Don't access dir[-1] if dir is
672 2000-06-21 Jim Meyering <meyering@lucent.com>
674 * Makefile.am (libfetish_a_SOURCES): Add getstr.c.
675 (noinst_HEADERS): Add getstr.h.
677 * getline.c (getstr): Move into a separate file.
678 * getstr.c (getstr): New file, extracted from getline.c, with
679 the following changes: new parameter, delim2; both delim[12]
680 parameters have type `int', not `char'. The latter would lose
681 with 8-bit delimiters.
682 * getstr.h: New file.
684 2000-06-19 Jim Meyering <meyering@lucent.com>
686 * getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
688 2000-06-18 Jim Meyering <meyering@lucent.com>
690 * mkdir.c: Remove file, due mainly to copyright incompatibility.
691 Besides, these days every porting target provides a mkdir function.
693 * strnlen.c: Include memory.h, string.h, and/or strings.h as needed.
694 (this snippet comes from src/system.h).
696 2000-06-15 Paul Eggert <eggert@twinsun.com>
698 * human.c (adjust_value): New function.
699 (human_readable_inexact): Apply rounding style even when
700 printing approximate values.
702 2000-06-14 Paul Eggert <eggert@twinsun.com>
704 * human.c (human_readable_inexact): Allow an input block
705 size that is not a multiple of the output block size, and vice versa.
706 Reported by Piergiorgio Sartor.
708 2000-06-14 Paul Eggert <eggert@twinsun.com>
710 * getdate.y (get_date): Apply relative times after time
711 zone indicator, not before. Reported by Todd A. Jacobs.
713 2000-06-13 Jim Meyering <meyering@lucent.com>
715 * Makefile.am (all-local): Depend on lstat.c and stat.c.
717 * xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
719 2000-06-12 Paul Eggert <eggert@twinsun.com>
721 * xstat.in: Include <stdlib.h> in lstat, to declare "free".
723 2000-06-04 Paul Eggert <eggert@twinsun.com>
725 * strnlen.c: Include <config.h> if HAVE_CONFIG_H.
727 2000-06-04 Jim Meyering <meyering@lucent.com>
729 * getugroups.c (getugroups): Cast -1 to gid_t, for systems like
730 SunOS4.1.4 for which gid_t is an unsigned type.
732 2000-06-03 Jim Meyering <meyering@lucent.com>
734 * strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
736 2000-05-26 Bruno Haible <haible@clisp.cons.org>
738 * Makefile.am (install-exec-local): On systems with glibc-2.1 or
739 newer, don't install charset.alias.
740 * config.charset: Change the Linux/glibc rules so they become empty
741 on glibc-2.1 or newer.
743 2000-06-02 Jim Meyering <meyering@lucent.com>
745 * mountlist.c: Back out last change. Instead, do this...
746 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the me_dummy
747 member using the same `ignore'-testing code.
748 * mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
752 2000-05-29 Jim Meyering <meyering@lucent.com>
754 * mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore mounts
755 with the `ignore' attribute. Based on a patch from Mark D. Roth.
757 2000-05-22 Jim Meyering <meyering@lucent.com>
759 * makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
761 2000-05-18 Jim Meyering <meyering@lucent.com>
763 * hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
764 back, too, since it may have been modified by allocate_entry.
765 (hash_delete): Rewrite to use neither the assignment operator
766 nor the comma operator in an if-expression.
768 2000-05-15 Paul Eggert <eggert@twinsun.com>
771 <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
772 Remove; no longer needed.
773 "quotearg.h": Add include.
774 (file_name): Do not bother to explicitly initialize to NULL; it's less
775 efficient on some hosts.
776 (close_stdout_status): Remove test as to whether stdout was already
777 closed; it breaks for the case "echo x | sort >&-".
778 Quote file name colons.
779 Do not assume that _("write error") lacks format strings.
781 2000-05-15 Jim Meyering <meyering@lucent.com>
783 * version-etc.c (version_etc_copyright): Update the copyright string
784 used in all --version output.
786 2000-05-14 Jim Meyering <meyering@lucent.com>
788 * closeout.c (close_stdout_set_file_name): New function.
789 (close_stdout_status): Use new file-scoped global.
790 Return right away if fstat says the stdout file descriptor is invalid.
791 * closeout.h (close_stdout_set_file_name): Declare.
793 2000-05-10 Jim Meyering <meyering@lucent.com>
795 * closeout.c [default_exit_status]: New file-scoped variable.
796 (close_stdout_set_status): New function.
797 * closeout.h (close_stdout_set_status): Declare.
799 2000-05-08 Jim Meyering <meyering@lucent.com>
801 * long-options.c: Don't include closeout.h.
802 (parse_long_options): Don't call close_stdout for --version.
804 2000-05-06 Jim Meyering <meyering@lucent.com>
806 * strnlen.c: Undefine __strnlen and strnlen.
807 [!weak_alias]: Define __strnlen to strnlen.
809 * atexit.c: New file, from libiberty.
811 2000-05-06 Jim Meyering <meyering@lucent.com>
813 * closeout.c (close_stdout_status): Also check for errors on the
816 2000-05-05 Bruno Haible <haible@clisp.cons.org>
818 * localcharset.c (get_charset_aliases): Use malloc, realloc and memcpy
819 instead of xmalloc, xrealloc, path_concat.
820 (locale_charset): Treat empty environment variables as absent.
821 (DIRECTORY_SEPARATOR, ISSLASH): New macros.
823 2000-05-04 Jim Meyering <meyering@lucent.com>
825 * getopt.c: Update from glibc.
826 * obstack.c: Likewise.
827 * obstack.h: Likewise.
828 * regex.c: Likewise. NB: K&R compiler support is dropped for this file
831 * strndup.c: Likewise.
832 * strnlen.c: New file, from glibc.
834 2000-05-01 Jim Meyering <meyering@lucent.com>
836 * full-write.c (full_write): Remove `FIXME' part of comment.
838 2000-04-29 Jim Meyering <meyering@lucent.com>
840 * path-concat.c: Declare strdup only if it's not defined.
841 * canon-host.c: Likewise.
843 2000-04-28 Jim Meyering <meyering@lucent.com>
845 * rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to avoid
846 redefinition warning on some systems (HPUX). Otherwise, regex.h is
847 included first, then limits.h is included by locale.h by libintl.h.
848 From John David Anglin.
850 2000-04-25 Jim Meyering <meyering@lucent.com>
852 * makepath.c (S_IRWXUGO): Define.
853 (make_path): Always perform explicit chmod if MODE specifies any
854 of the `special' permission bits. Prompted by a bug report against
855 install from Mate Wierdl and Joost van Baal.
857 2000-04-18 Jim Meyering <meyering@lucent.com>
861 * getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
862 getpagesize. For BeOS. Based on a patch from Bruno Haible.
864 2000-04-17 Jim Meyering <meyering@lucent.com>
866 * strftime.c (my_strftime) [strftime]: Declare strftime here, since
867 the definition of it to rpl_strftime also defined-away the system's
870 2000-04-15 Jim Meyering <meyering@lucent.com>
872 Use `C' to denote so-called `contiguous' files, the same way
874 * filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
875 (ftypelet): Use S_ISCTG.
876 From Michael Deutschmann.
878 2000-04-14 Jim Meyering <meyering@lucent.com>
880 * strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
882 2000-04-08 Jim Meyering <meyering@lucent.com>
884 * Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
885 names don't conflict. Reported by Eli Zaretskii.
887 2000-03-28 Bruno Haible <haible@clisp.cons.org>
889 * unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
890 bug. Deal with the different error behavior of Irix iconv.
892 2000-04-07 Jim Meyering <meyering@lucent.com>
894 * putenv.c: Move inclusion of errno.h so it follows that of sys/types.h,
895 to work around system header problems on AIX 3.2.5. From Bruno Haible.
897 2000-04-05 Jim Meyering <meyering@lucent.com>
899 Portability tweaks required for ultrix4.3.
900 * readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare getutent.
901 * readutmp.c: Include sys/types.h before sys/stat.h.
902 * canon-host.c: Declare strdup.
903 * path-concat.c: Likewise.
904 From John David Anglin.
906 2000-04-04 Jim Meyering <meyering@lucent.com>
908 Be more DOS 8.3-friendly.
909 * ref-add.sin: Renamed from ref-add.sed.in.
910 * ref-del.sin: Renamed from ref-del.sed.in.
911 * Makefile.am: Reflect renaming.
912 Reported by Eli Zaretskii.
914 Use a temporary file name that won't clash with `charset.alias'
915 in the DOS 8.3 name space.
916 * Makefile.am (charset_tmp): Define.
917 (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
918 (uninstall-local): Likewise.
919 Reported by Eli Zaretskii.
921 2000-03-29 Paul Eggert <eggert@twinsun.com>
923 * time/strftime.c (my_strftime): Make sure we call the system
924 strftime, not ourselves, when invoking the underlying strftime.
926 2000-03-24 Jim Meyering <meyering@lucent.com>
928 * Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
929 (charset_alias): Define.
930 (install-exec-local): Factor out common code.
931 (uninstall-local): Split lines longer than 80.
932 (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
934 (.sed.in.sed): New rule. Don't redirect directly to $@.
935 (CLEANFILES): Add ref-add.sed and ref-del.sed.
937 2000-03-19 Bruno Haible <haible@clisp.cons.org>
939 * config.charset: Output a line containing "Packages using this file".
940 * ref-add.sed.in, ref-del.sed.in: New files.
941 * Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
942 ref-del.sed): New rules.
944 2000-03-17 Jim Meyering <meyering@lucent.com>
946 * unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
947 Otherwise, include <strings.h>
949 2000-03-17 Bruno Haible <haible@clisp.cons.org>
951 * unicodeio.c (utf8_wctomb): New function.
952 (print_unicode_char): Pass the Unicode character to iconv in UTF-8
953 format instead of in UCS-4 with platform dependent endianness.
955 2000-03-07 Paul Eggert <eggert@twinsun.com>
957 * savedir.c (savedir): Work even if directory size is
958 negative; this can happen with some screwy NFS configurations.
960 2000-03-06 Jim Meyering <meyering@lucent.com>
962 * localcharset.c (get_charset_aliases): Don't try to free file_name
963 if it's NULL (because we ran out of memory). From Bruno Haible.
965 2000-03-05 Jim Meyering <meyering@lucent.com>
967 * localcharset.c ("path-concat.h"): Include.
968 (get_charset_aliases): Use path_concat instead of ANSI string
971 * unicodeio.h (PARAMS): Define.
972 Use it to guard prototype.
974 2000-03-04 Jim Meyering <meyering@lucent.com>
976 * Makefile.am (install-exec-local): Create $(libdir) before installing
978 (uninstall-local): Uncomment this rule so `make distcheck' works
981 * unicodeio.c (<errno.h>): Include it.
982 (errno): Declare if not defined.
984 * localcharset.c: Add Bruno's comment justifying use of volatile.
986 * config.charset: New version, incorporating remarks from a linux
987 i18n mailing list. From Bruno Haible.
989 2000-03-02 Jim Meyering <meyering@lucent.com>
991 * Makefile.am (EXTRA_DIST): Add config.charset.
993 2000-03-01 Jim Meyering <meyering@lucent.com>
995 * localcharset.c: Guard some #includes with `#if HAVE_...'.
996 * unicodeio.c: Likewise.
998 2000-02-02 Bruno Haible <haible@clisp.cons.org>
1000 * config.charset: New file.
1001 * localcharset.c: New file.
1002 * unicodeio.h, unicodeio.c: New files.
1003 * Makefile.am (DEFS): Add -DLIBDIR=...
1004 (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
1005 (noinst_HEADERS): Add unicodeio.h.
1006 (all-local, install-exec-local, charset.alias): New targets.
1008 2000-02-28 Paul Eggert <eggert@twinsun.com>
1010 * quotearg.c (ALERT_CHAR): New macro.
1011 (quotearg_buffer_restyled): Use it.
1013 2000-02-27 Jim Meyering <meyering@lucent.com>
1015 * strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
1016 Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
1018 * backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
1019 not `#if STDC_HEADERS'.
1020 Declare malloc if needed.
1022 * backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
1023 now that autoconf always defines the HAVE_DECL_ symbols.
1024 * human.c: Likewise.
1026 * strtoumax.c: Likewise.
1028 * backupfile.c: Arrange for cpp to fail if the configure-time
1029 declaration check was not run.
1031 * human.c: Likewise.
1033 * strtoumax.c: Likewise.
1035 * userspec.c (parse_user_spec): If there is no `:' but there is a `.',
1036 then first look up the entire `.'-containing string as a login name.
1038 2000-02-18 Paul Eggert <eggert@twinsun.com>
1040 * getdate.y: Handle two-digit years with leading zeros correctly.
1041 (textint): New typedef.
1042 (parser_control): Member year changed from int to textint.
1044 (YYSTYPE): Removed; replaced by %union with int and textint members.
1045 (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
1046 tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
1047 tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
1048 (tSNUMBER, tUNUMBER): Now of type <textintval>.
1049 (date, number, to_year): Use width of number in digits, not its value,
1050 to determine whether it's a 2-digit year, or a 2-digit time.
1051 (yylex): Store number of digits of numeric tokens.
1052 Reported by John Kendall.
1054 (parser_control): Changed from struct parser_control to typedef (for
1055 consistency). All uses changed.
1057 (tID): Removed; not used.
1058 (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
1060 2000-02-14 Paul Eggert <eggert@twinsun.com>
1062 * getpagesize.h (getpagesize): Port to VMS for Alpha;
1063 adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
1065 2000-02-12 Jim Meyering <meyering@lucent.com>
1067 * userspec.c (ISDIGIT): Define it.
1068 (isdigit): Remove definition.
1069 (is_number): Use ISDIGIT, not isdigit.
1070 <libintl.h>: Include.
1072 (parse_user_spec): Mark translatable strings.
1074 2000-02-10 Jim Meyering <meyering@lucent.com>
1076 With these changes, nanosleep.[ch] are finally enough like the other
1077 lib/* replacement files to compile on a few more losing systems.
1079 * nanosleep.h: Don't include config.h.
1080 Remove prototype from declaration of nanosleep.
1081 (PARAMS): Remove now-unneeded definition.
1082 * nanosleep.c: #undef nanosleep.
1083 (rpl_nanosleep): Rename from nanosleep.
1085 2000-02-03 Jim Meyering <meyering@lucent.com>
1087 * readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
1088 rather than with `#if HAVE_UTMPNAME'.
1090 2000-02-01 Jim Meyering <meyering@lucent.com>
1092 * readutmp.h (UT_USER): Add parens. From Andreas Schwab.
1094 2000-01-31 Jim Meyering <meyering@lucent.com>
1096 * nanosleep.h (nanosleep): Guard declaration with
1097 `#if ! HAVE_DECL_NANOSLEEP'.
1098 Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
1099 the declaration in that vendor's sys/timers.h.
1100 Reported by Christian Krackowizer.
1102 * quotearg.c (ISASCII): Add #undef and move definition to follow
1103 inclusion of wctype.h to work around solaris2.6 namespace pollution.
1104 (ISPRINT): Likewise.
1105 Reported by Tom Tromey.
1107 2000-01-30 Jim Meyering <meyering@lucent.com>
1109 * readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
1110 uses of ->ut_name. The latter doesn't work with new Linux header files
1111 where only utmpx.ut_user is declared.
1113 * readutmp.h (UT_USER): Define.
1115 2000-01-23 Jim Meyering <meyering@lucent.com>
1117 * Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
1120 2000-01-22 Jim Meyering <meyering@lucent.com>
1122 * strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
1123 [! HAVE_DECL_STRTOULL]: Declare strtoull.
1124 Required for some AIX systems. Reported by Christian Krackowizer.
1125 [TESTING] (main): New function.
1127 1997-10-17 Eli Zaretskii <eliz@is.elta.co.il>
1128 * dirname.c (dir_name): Support for DOS-style file names with drive
1131 * quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of iswprint.
1133 * strverscmp.c (ISDIGIT): Define.
1134 (strverscmp): Use ISDIGIT, not isdigit.
1136 2000-01-17 Paul Eggert <eggert@twinsun.com>
1138 * nanosleep.c (nanosleep):
1139 Don't use SA_INTERRUPT to decide whether to call sigaction, as
1140 POSIX.1 doesn't require SA_INTERRUPT and some systems
1141 (e.g. Solaris 7) don't define it. Use SA_NOCLDSTOP instead;
1142 it's been part of POSIX.1 since day 1 (in 1988).
1144 2000-01-17 Jim Meyering <meyering@lucent.com>
1146 * interlock: Remove unused file. Reported by François Pinard.
1148 2000-01-16 Paul Eggert <eggert@twinsun.com>
1150 * quotearg.c (quotearg_buffer_restyled): Do not quote
1151 alert, backslash, formfeed, and vertical tab unnecessarily in
1152 shell quoting style.
1155 version-control: never