X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=ChangeLog;h=8a387748b743d5430f36d015d1be03b9456466c9;hb=9963a98120addb9fd80299e5242554d62b002217;hp=110f69798716425da5a82b9aa11dec3ee7e0cbfe;hpb=bdd5d7e82925592731fd33e92f861f30711fca8a;p=gnulib.git diff --git a/ChangeLog b/ChangeLog index 110f69798..8a387748b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,481 @@ +2009-12-19 Eric Blake + + utimens: check for ctime update + * tests/test-utimens-common.h (check_ctime): Define. + * tests/test-utimens.h (test_utimens): Expose the Linux bug. + * tests/test-futimens.h (test_futimens): Likewise. + * tests/test-lutimens.h (test_lutimens): Likewise. + * doc/posix-functions/futimens.texi (futimens): Document the bug. + * doc/posix-functions/utimensat.texi (utimensat): Likewise. + +2009-12-19 Bruno Haible + + dprintf-posix: Check against memory leak fixed on 2009-12-15. + * tests/test-dprintf-posix2.sh: New file. + * tests/test-dprintf-posix2.c: New file. + * modules/dprintf-posix-tests (Files): Add them. + (configure.ac): Check for getrlimit and setrlimit. + (Makefile.am): Augment TESTS and CHECK_PROGRAMS. + +2009-12-19 Bruno Haible + + fprintf-posix: Check against memory leak fixed on 2009-12-15. + * tests/test-fprintf-posix3.sh: New file. + * tests/test-fprintf-posix3.c: New file. + * modules/fprintf-posix-tests (Files): Add them. + (Makefile.am): Augment TESTS and CHECK_PROGRAMS. + +2009-12-19 Eric Blake + + dirfd: fix prototype + * lib/dirent.in.h (dirfd): Argument is not const, per POSIX. + * lib/dirfd.c (dirfd): Likewise. + + canonicalize: reduce memory usage + * lib/canonicalize.c (canonicalize_filename_mode): Trim the + allocation to size. + Reported by Solar Designer . + +2009-12-19 Bruno Haible + + New module attribute 'Applicability'. + * modules/TEMPLATE-EXTENDED: New field 'Applicability'. + * gnulib-tool: New option --extract-applicability. + (func_usage): Document it. + (sed_extract_prog): Recognize it. + (func_get_applicability): New function. + (func_import): Generalize handling of 'link-warning' module. + * modules/link-warning (Applicability): New section. + * modules/arg-nonnull (Applicability): New section. + Repoted by Simon Josefsson . + +2009-12-19 Bruno Haible + + fflush: tweak + * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin. + * lib/fseeko.c (rpl_fseeko): Likewise. + +2009-12-16 José E. Marchesi (tiny change) + + * lib/gl_list.h: Fix typo in comment. + +2009-12-16 Eric Blake + + fcntl: use to simplify other modules + * modules/cloexec (Depends-on): Add fcntl. + * modules/fchdir (Depends-on): Likewise. + * modules/fd-safer-flag (Depends-on): Likewise. + * modules/unistd-safer (Depends-on): Likewise. + * modules/dup3 (configure.ac): Set module indicator. + * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is + missing. + * lib/fchdir.c (_gl_register_dup): Fix comment. + * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl. + * lib/dup-safer.c (dup_safer): Likewise. + * lib/dup-safer-flag.c (dup_safer_flag): Likewise. + * lib/dup3.c (dup3): Likewise. + * tests/test-fchdir.c (main): Enhance test. + Fixes a dup_cloexec bug reported by Ondřej Vašík. + + fcntl: port portions of fcntl to mingw + * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw. + * lib/fcntl.c (fcntl) : Provide + replacement for mingw. + * modules/fcntl (Description): Update. + (Depends-on): Add dup2. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness. + * modules/fcntl-h (Makefile.am): Substitute it. + * lib/fcntl.in.h (fcntl): Update declaration. + (F_DUPFD, F_GETFD): New macros, when needed. + * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation. + * doc/posix-functions/fcntl.texi (fcntl): Likewise. + * tests/test-fcntl.c (check_flags, main): Enhance test for items + we now guarantee. + + fcntl: work around cygwin bug in F_DUPFD + * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro. + (gl_FUNC_FCNTL): Use it. Test for F_DUPFD bug. + * lib/fcntl.c (rpl_fcntl) : Work around it. + : Reduce calls to _gl_register_dup. + * doc/posix-functions/fcntl.texi (fcntl): Document it. + + fcntl: support F_DUPFD_CLOEXEC on systems with fcntl + * modules/fcntl (Files): List new files. + (configure.ac): Run a test. + * m4/fcntl.m4 (gl_FUNC_FCNTL): New file. + * lib/fcntl.c (rpl_fcntl): Likewise. + * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults. + (gl_FCNTL_H): Always replace fcntl.h. + * modules/fcntl-h (Makefile.am): Substitute witnesses. + * lib/fcntl.in.h (fcntl): Declare replacement. + (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when + needed, plus a witness. + * doc/posix-functions/fcntl.texi (fcntl): Document this. + * doc/posix-headers/fcntl.texi (fcntl.h): Likewise. + * tests/test-fcntl.c: New file. + * modules/fcntl-tests: Likewise. + + binary-io: avoid potential compilation warning + * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor + directives. + + fflush: avoid compilation error on NetBSD + * lib/fflush.c (update_fpos_cache): Use a union to safely convert + between off_t and fpos_t, since the latter is sometimes a struct. + * lib/fseeko.c (rpl_fseeko): Likewise. + Reported by Alexander Nasonov . + +2009-12-15 Eric Blake + + fcntl-h, stdio, sys_ioctl: fix declarations + * lib/stdio.in.h (dprintf): Use of link warning on a variadic + function must not take arguments. + * lib/sys_ioctl.in.h (ioctl): Likewise. + * lib/fcntl.in.h (openat): Likewise. Declare extern. + (open): Add a link warning. + +2009-12-15 Jim Meyering + + areadlink, areadlink-with-size: relax license to LGPLv2+ + * modules/areadlink (License): Relax to LGPLv2+. + * modules/areadlink-with-size (License): Likewise. + +2009-12-15 Joel E. Denny + Bruno Haible + + *printf: Fix memory leak. + * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf. + * lib/vfprintf.c (vfprintf): Likewise. + * lib/dprintf.c (dprintf): Likewise. + * lib/vdprintf.c (vdprintf): Likewise. + +2009-12-14 Eric Blake + + accept4: adjust module dependencies + * modules/accept4 (Depends-on): Use fcntl-h, not fcntl. + + utimens: one more try at avoiding compiler warning + * lib/utimens.c (lutimens): Lower scope of result. + +2009-12-13 Bruno Haible + + Move the malloc checking from module 'list' to new module 'xlist'. + * modules/xlist: New file. + * lib/gl_xlist.h: New file. + * lib/gl_xlist.c: New file. + * lib/gl_list.h (gl_list_create_empty, gl_list_create, + gl_list_node_set_value, gl_list_set_at, gl_list_add_first, + gl_list_add_last, gl_list_add_before, gl_list_add_after, + gl_list_nx_add_at, gl_sortedlist_add): Disable declarations. + (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value, + gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last, + gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at, + gl_sortedlist_nx_add): New declarations. + (struct gl_list_implementation): Rename and change methods accordingly. + (gl_list_nx_create_empty): Renamed from gl_list_create_empty. + (gl_list_nx_create): Renamed from gl_list_create. + (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value. + (gl_list_nx_set_at): Renamed from gl_list_set_at. + (gl_list_nx_add_first): Renamed from gl_list_add_first. + (gl_list_nx_add_last): Renamed from gl_list_add_last. + (gl_list_nx_add_before): Renamed from gl_list_add_before. + (gl_list_nx_add_after): Renamed from gl_list_add_after. + (gl_list_nx_add_at): Renamed from gl_list_add_at. + (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add. + * lib/gl_list.c (gl_list_nx_create_empty): Renamed from + gl_list_create_empty. + (gl_list_nx_create): Renamed from gl_list_create. + (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value. + (gl_list_nx_set_at): Renamed from gl_list_set_at. + (gl_list_nx_add_first): Renamed from gl_list_add_first. + (gl_list_nx_add_last): Renamed from gl_list_add_last. + (gl_list_nx_add_before): Renamed from gl_list_add_before. + (gl_list_nx_add_after): Renamed from gl_list_add_after. + (gl_list_nx_add_at): Renamed from gl_list_add_at. + (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add. + * lib/gl_array_list.c: Don't include xalloc.h. + (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return + NULL upon out-of-memory. + (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon + out-of-memory. + (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value. + Change return type to 'int'. + (gl_array_nx_set_at): Renamed from gl_array_set_at. + (grow): Change return type to 'int'. Return -1 upon out-of-memory. + (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL + upon out-of-memory. + (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL + upon out-of-memory. + (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL + upon out-of-memory. + (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL + upon out-of-memory. + (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon + out-of-memory. + (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add. + Update. + (gl_array_list_implementation): Update. + * lib/gl_carray_list.c: Don't include xalloc.h. + (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty. + Return NULL upon out-of-memory. + (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon + out-of-memory. + (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value. + Change return type to 'int'. + (gl_carray_nx_set_at): Renamed from gl_carray_set_at. + (grow): Change return type to 'int'. Return -1 upon out-of-memory. + (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL + upon out-of-memory. + (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL + upon out-of-memory. + (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon + out-of-memory. + (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update. + (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update. + (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add. + Update. + (gl_carray_list_implementation): Update. + * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory. + * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from + gl_linked_create_empty. Return NULL upon out-of-memory. + (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon + out-of-memory. + (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value. + Change return type to 'int'. Return -1 upon out-of-memory. + (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon + out-of-memory. + (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL + upon out-of-memory. + (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL + upon out-of-memory. + (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return + NULL upon out-of-memory. + (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL + upon out-of-memory. + (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon + out-of-memory. + (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add. + Update. + * lib/gl_linked_list.c: Don't include xalloc.h. + (gl_linked_list_implementation): Update. + * lib/gl_linkedhash_list.c: Don't include xalloc.h. + (add_to_bucket): Change return type to 'int'. + (gl_linkedhash_list_implementation): Update. + * lib/gl_anytree_list1.h (free_subtree): New function. + * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from + gl_tree_create_empty. Return NULL upon out-of-memory. + (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value. + Change return type to 'int'. Return -1 upon out-of-memory. + (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon + out-of-memory. + (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update. + (gl_tree_remove_node): New function, moved here from + lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h. + (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add. + Update. + * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use + malloc, not xmalloc. Return NULL upon out-of-memory. + (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon + out-of-memory. + (gl_tree_remove_node_from_tree): New function, extracted from + gl_tree_remove_node. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL + upon out-of-memory. + (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon + out-of-memory. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL + upon out-of-memory. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL + upon out-of-memory. + (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h. + * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc, + not xmalloc. Return NULL upon out-of-memory. + (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon + out-of-memory. + (gl_tree_remove_node_from_tree): New function, extracted from + gl_tree_remove_node. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL + upon out-of-memory. + (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon + out-of-memory. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL + upon out-of-memory. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL + upon out-of-memory. + (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h. + * lib/gl_avltree_list.c: Don't include xalloc.h. Include + gl_anytree_list1.h before gl_anyavltree_list2.h. + (gl_avltree_list_implementation): Update. + * lib/gl_rbtree_list.c: Don't include xalloc.h. Include + gl_anytree_list1.h before gl_anyavltree_list2.h. + (gl_rbtree_list_implementation): Update. + * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets): + Change return type to 'int'. Return -1 upon out-of-memory. Use + __builtin_expect. + * lib/gl_avltreehash_list.c: Don't include xalloc.h. + (gl_avltreehash_list_implementation): Update. + * lib/gl_rbtreehash_list.c: Don't include xalloc.h. + (gl_rbtreehash_list_implementation): Update. + * modules/array-list (Depends-on): Remove xalloc. + * modules/carray-list (Depends-on): Likewise. + * modules/linked-list (Depends-on): Likewise. + * modules/linkedhash-list (Depends-on): Likewise. + * modules/avltree-list (Depends-on): Likewise. + * modules/rbtree-list (Depends-on): Likewise. + * modules/avltreehash-list (Depends-on): Likewise. + * modules/rbtreehash-list (Depends-on): Likewise. + + * modules/xsublist: New file. + * lib/gl_xsublist.h: New file. + * lib/gl_xsublist.c: New file. + * lib/gl_sublist.h (gl_sublist_create): Disable declaration. + (gl_sublist_nx_create): New declaration. + * lib/gl_sublist.c: Don't include xalloc.h. + (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty. + (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill. + (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value. + Change return type to 'int'. Return -1 upon out-of-memory. + (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL + upon out-of-memory. + (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return + NULL upon out-of-memory. + (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL + upon out-of-memory. + (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return + NULL upon out-of-memory. + (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return + NULL upon out-of-memory. + (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL + upon out-of-memory. + (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add. + (gl_sublist_list_implementation): Update. + (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL + upon out-of-memory. + * modules/sublist (Depends-on): Remove xalloc. + + * tests/test-array_list.c: Use gl_list_nx_* functions where possible. + * tests/test-carray_list.c: Likewise. + * tests/test-linked_list.c: Likewise. + * tests/test-linkedhash_list.c: Likewise. + * tests/test-avltree_list.c: Likewise. + * tests/test-rbtree_list.c: Likewise. + * tests/test-avltreehash_list.c: Likewise. + * tests/test-rbtreehash_list.c: Likewise. + * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@. + * modules/carray-list-tests (Makefile.am): Likewise. + * modules/linked-list-tests (Makefile.am): Likewise. + * modules/linkedhash-list-tests (Makefile.am): Likewise. + * modules/avltree-list-tests (Makefile.am): Likewise. + * modules/rbtree-list-tests (Makefile.am): Likewise. + * modules/avltreehash-list-tests (Makefile.am): Likewise. + * modules/rbtreehash-list-tests (Makefile.am): Likewise. + + * NEWS: Mention the changes. + + * lib/clean-temp.c: Include gl_xlist.h. + * modules/clean-temp (Depends-on): Add xlist. + + * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h. + * modules/git-merge-changelog (Depends-on): Add xlist. Remove list. + + * tests/test-array_oset.c: Include gl_xlist.h. + * modules/array-oset-tests (Depends-on): Add xlist. + + Reported by José E. Marchesi . + +2009-12-13 Bruno Haible + + Move the malloc checking from module 'oset' to new module 'xoset'. + * modules/xoset: New file. + * lib/gl_xoset.h: New file. + * lib/gl_xoset.c: New file. + * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable + declarations. + (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations. + (struct gl_oset_implementation): Rename and change methods accordingly. + (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty. + (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to + 'int'. Mark as __warn_unused_result__. + * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from + gl_oset_create_empty. + (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to + 'int'. + * lib/gl_array_oset.c: Don't include xalloc.h. + (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use + malloc, not xmalloc. + (grow): Change return type to 'int'. Don't call xalloc_die. + (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type + to 'int'. + (gl_array_nx_add): Renamed from gl_array_add. Change return type to + 'int'. + (gl_array_oset_implementation): Update. + * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from + gl_tree_create_empty. + (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to + 'int'. + * lib/gl_avltree_oset.c: Don't include xalloc.h. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not + xmalloc. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc, + not xmalloc. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not + xmalloc. + (gl_avltree_oset_implementation): Update. + * lib/gl_rbtree_oset.c: Don't include xalloc.h. + (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not + xmalloc. + (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc, + not xmalloc. + (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not + xmalloc. + (gl_rbtree_oset_implementation): Update. + * modules/array-oset (Depends-on): Remove xalloc. + * modules/avltree-oset (Depends-on): Likewise. + * modules/rbtree-oset (Depends-on): Likewise. + * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible. + * tests/test-avltree_oset.c: Likewise. + * tests/test-rbtree_oset.c: Likewise. + * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise. + * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@. + * modules/rbtree-oset-tests (Makefile.am): Likewise. + * NEWS: Mention the change. + +2009-12-05 Alfred M. Szmidt + + maint.mk: allow a project to override release-prep commands + * top/maint.mk (alpha, beta, stable): Move release-preparatory + commands into a new rule. + (release-prep): New rule. + (release-prep-hook): New overridable variable. + +2009-12-13 Bruno Haible + + * lib/localcharset.c (locale_charset): Fix comment about use of GetACP. + +2009-12-13 Jim Meyering + + maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions + * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions. + +2009-12-12 Bruno Haible + + duplocale: Tweak. + * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'. + +2009-12-12 Karl Berry + + * config/srclist.txt (strtoll.c): tab changes, no more sync. + +2009-12-12 Bruno Haible + + * m4/po.m4: Undo incorrect untabification. + +2009-12-12 Bruno Haible + + c-strtod, c-strtold: Use multithread-safe implementation on MacOS X. + * modules/c-strtod (Depends-on): Add locale. + * modules/c-strtold (Depends-on): Likewise. + 2009-12-12 Bruno Haible * lib/localcharset.c (locale_charset): Add comment about use of GetACP.