diff options
author | Colin Watson <cjwatson@debian.org> | 2019-08-26 16:24:25 +0100 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2019-08-26 16:24:25 +0100 |
commit | 4022480a2cbcd303c5fcb3547dab2896ae1915a9 (patch) | |
tree | aa7f325ed783df7e253f8474df7121c6f1f85ea2 | |
parent | 886374b96c0da5287b5a9eba5777cb2d9f0ea3d8 (diff) | |
parent | 1c9cb89a74a0e54309eff01adcac9775e8c0563a (diff) |
Import man-db_2.8.7.orig.tar.xz
251 files changed, 11837 insertions, 9743 deletions
@@ -1,3 +1,401 @@ +2019-08-26 Colin Watson <cjwatson@debian.org> + + Release man-db 2.8.7 + +2019-08-26 Takeshi Hamasaki <hmatrjp@users.sourceforge.jp> + + Update Japanese translation + + * po/ja.po: Update from Translation Project. + * man/THANKS: Add translator credit. + +2019-08-26 Colin Watson <cjwatson@debian.org> + + Order results manually for NDBM as well as GDBM + + Commit 3a753221a3dddaf4870a86a4dca4771ed2cd80b3 in 2003 (!) worked + around the fact that GDBM's firstkey/nextkey interface doesn't return + ordered results. However, at least when using GDBM's NDBM compatibility + interface, this may be true for NDBM too. Extend the manual result + ordering code to cover both of these backends. + + * libdb/db_gdbm.c (parent_keys, datum_compare, datum_equals, datum_hash, + datum_free, empty_datum, man_gdbm_firstkey, man_gdbm_nextkey, + man_gdbm_close): Move to ... + * libdb/db_xdbm.c (parent_keys, datum_compare, datum_equals, datum_hash, + datum_free, empty_datum, man_xdbm_firstkey, man_xdbm_nextkey, + man_xdbm_close): ... here (new file). + * libdb/db_xdbm.h: New file. + * libdb/db_gdbm.c (unsorted_firstkey, unsorted_nextkey, raw_close): New + functions, wrapping gdbm_firstkey, gdbm_nextkey, and gdbm_close + respectively. + (man_gdbm_firstkey, man_gdbm_nextkey, man_gdbm_close): Add GDBM-specific + wrappers for the generic man_xdbm_* functions. + * libdb/db_ndbm.c (man_ndbm_close): Move NDBM-specific code ... + (raw_close): ... here. + (unsorted_firstkey, unsorted_nextkey): New functions, wrapping + dbm_firstkey and dbm_nextkey respectively. + (man_ndbm_close, man_ndbm_firstkey, man_ndbm_nextkey): Add NDBM-specific + wrappers for the generic man_xdbm_* functions. + * libdb/mydbm.h (man_ndbm_firstkey, man_ndbm_nextkey): Add prototypes. + (MYDBM_FIRSTKEY) [NDBM]: Rewrite in terms of man_ndbm_firstkey. + (MYDBM_NEXTKEY) [NDBM]: Rewrite in terms of man_ndbm_nextkey. + * libdb/Makefile.am (libmandb_la_SOURCES): Add db_xdbm.c and db_xdbm.h. + * NEWS: Document this. + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Enable many more GCC warnings + + * bootstrap.conf (gnulib_modules): Add manywarnings. + * configure.ac: Add gl_MANYWARN_ALL_GCC, with some refinements to + disable -Wsystem-headers and -Wmissing-field-initializers. Define + GNULIB_NO_VLA=1 to avoid tripping over -Wvla. + * src/accessdb.c (help_filter): Disable -Wformat-nonliteral around this + function. + * src/man.c (help_filter): Likewise. + * src/check_mandirs.c (gripe_rwopen_failed, update_db_time): Factor out + EAGAIN || EWOULDBLOCK check to ... + (is_eagain): ... here, with -Wlogical-op disabled. + * src/lexgrog.l, src/zsoelim.l: Disable -Wsuggest-attribute=malloc, + -Wsuggest-attribute=pure, and -Wunused-macros. + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Pacify gcc -Wnull-dereference + + * src/accessdb.c (main): Add an assertion to help the compiler prove + that dbf is non-NULL. (It doesn't know that error (FATAL, ...) is + non-returning.) + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Add several function attributes suggested by GCC + + * lib/debug.c (vdebug): Mark first argument as a printf format string. + * lib/encodings.c (get_page_encoding): Mark as malloc-like. + (is_roff_device, get_output_encoding, get_less_charset, + get_jless_charset): Mark as pure. + * lib/glcontainers.c (string_equals, string_hash): Mark as pure. + * lib/security.c (running_setuid): Mark as pure. + * lib/util.c (trim_spaces): Mark as malloc-like. + * libdb/db_lookup.c (dash_if_unset): Mark as const. + * libdb/db_store.c (compare_ids): Mark as const. + * src/whatis.c (match): Mark as pure. + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Fix some printf formats + + * libdb/db_lookup.c (list_extensions): Format the return value of + gl_list_size using %zu, not %zd. + * src/catman.c (add_arg): Format the return values of MYDBM_DSIZE and + strlen using %zu, not %zd. + (parse_for_sec): Format ARG_MAX - arg_size using %zu, not %zd. + * src/man.c (main): Format ruid and euid using %lu, not %d (cast to + unsigned long since POSIX only says that uid_t is an integer type). + * src/manp.c (describe_flag): Format flag using %u, not %d. + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Remove several unused macros + + * libdb/db_store.c (_): Remove. + * src/compression.c (_): Likewise. + * src/globbing_test.c (_): Likewise. + * src/zsoelim_main.c (_): Likewise. + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Make a couple of functions static + + * lib/orderfiles.c (compare_physical_offsets): Make static. + * src/descriptions.c (page_description_free): Likewise. + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Move declaration of _nl_msg_cat_cntr to top level + + gcc -Wnested-externs warns when it encounters this declaration within a + function. + + * include/manconfig.h.in (locale_changed): Move _nl_msg_cat_cntr + declaration to the top level. + +2019-08-25 Colin Watson <cjwatson@debian.org> + + Add some missing includes + + * lib/linelength.c: Include "linelength.h". + * lib/orderfiles.c: Include "orderfiles.h". + +2019-08-24 Colin Watson <cjwatson@debian.org> + + Simplify some GCC attribute handling + + * lib/orderfiles.c (order_files) [!HAVE_LINUX_FIEMAP_H && + !HAVE_POSIX_FADVISE]: Use _GL_UNUSED rather than ATTRIBUTE_UNUSED. + * lib/sandbox.c (_sandbox_load) [!HAVE_LIBSECCOMP]: Likewise. + * lib/security.c (drop_privs): Likewise. + * src/accessdb.c (help_filter): Likewise. + * src/check_mandirs.c (chown_if_possible): Likewise. + * src/decompress.c (decompress_zlib): Likewise. + * src/lexgrog_test.c (help_filter): Likewise. + * src/man.c (help_filter, squeeze_blank_lines, disable_hyphenation, + disable_justification): Likewise. + * src/manconv.c (manconv): Likewise. + * src/manp.c (free_config_file): Likewise. + * src/tests/fspause.c (main): Likewise. + * src/whatis.c (help_filter): Likewise. + * src/zsoelim_main.c (parse_opt): Likewise. + * include/manconfig.h.in (ATTRIBUTE_UNUSED): Remove in favour of the + shorter _GL_UNUSED. + (ATTRIBUTE_MALLOC): Remove; it was unused. + +2019-08-24 Colin Watson <cjwatson@debian.org> + + Use C11/Gnulib's _Noreturn + + * lib/cleanup.c (sighandler): Declare as _Noreturn. + * src/man.c (gripe_converting_name): Use _Noreturn rather than + ATTRIBUTE_NORETURN. + * include/manconfig.h.in (ATTRIBUTE_NORETURN): Remove. + +2019-08-24 Colin Watson <cjwatson@debian.org> + + Update to Gnulib 20190821 + +2019-08-23 Colin Watson <cjwatson@debian.org> + + Pass database file name in function parameters + + Storing it in a global variable with an unresolved symbol from libmandb + was never very clean, and caused linking complications on some + platforms. + + Fixes Savannah bug #56734. + + * libdb/mydbm.h (database): Remove external symbol. + * src/accessdb.c: Remove obsolete comment. + * src/catman.c (database): Remove global variable. + (parse_for_sec): Add database parameter. Update all callers. + (main): Declare database locally. + * src/check_mandirs.c (gripe_rwopen_failed, testmandirs, update_db_time, + create_db, update_db, purge_missing): Add database parameter. Update + all callers. + * src/check_mandirs.h (create_db, update_db, purge_missing): Update + prototypes. + * src/mandb.c (database): Remove global variable. + (update_one_file, update_db_wrapper): Add database parameter. Update + all callers. + (mandb, process_manpath): Declare database locally. + * src/straycats.c (straycats): Add database parameter. Update all + callers. + * src/whatis.c (database): Remove global variable. + (search): Declare database locally. + * include/manconfig.h.in (straycats): Update prototype. + * NEWS: Document this. + +2019-08-23 Colin Watson <cjwatson@debian.org> + + Use MYDBM_FILE->name for error messages + + We previously used the global "database" variable, but we were either + also passing a MYDBM_FILE around already or could easily do so, and it's + cleaner to get the file name from there now that it's consistently + available on all backends. + + * libdb/db_lookup.c (gripe_corrupt_data): Add dbf parameter. Get file + name from dbf->name rather than from the global database variable. + Update all callers. + (gripe_replace_key, split_data, split_content): Add dbf parameter. + Update all callers. + (dblookup_pattern): Get file name from dbf->name rather than from the + global database variable. + * libdb/db_ver.c (dbver_rd, dbver_wr): Get file name from dbfile->name + rather than from the global database variable. + * libdb/db_storage.h (split_content, gripe_corrupt_data, + gripe_replace_key): Update prototypes. + * src/check_mandirs.c (sanity_check_db): Get file name from dbf->name + rather than from the global database variable. + * src/whatis.c (do_apropos): Likewise. + +2019-08-23 Colin Watson <cjwatson@debian.org> + + Store database file name alongside its handle + + The GDBM backend already did things this way, but it's convenient to do + it the same way for all backends. + + Rename libmandb's various backend-specific functions to be uniformly + man_<backend>_<operation>. In the cases of btree and ndbm there was + already no clash with the libraries they depend on, but this makes them + match the gdbm backend. + + * libdb/db_btree.c (btree_close): Rename to ... + (man_btree_close): ... this. + (btree_flopen): Rename to ... + (man_btree_open): ... this. Wrap the returned file handle in a + man_btree_wrapper structure that remembers the file name. + (btree_replace): Rename to ... + (man_btree_replace): ... this. + (btree_insert): Rename to ... + (man_btree_insert): ... this. + (btree_fetch): Rename to ... + (man_btree_fetch): ... this. + (btree_exists): Rename to ... + (man_btree_exists): ... this. + (btree_findkey): Rename to ... + (man_btree_findkey): ... this. + (btree_firstkey): Rename to ... + (man_btree_firstkey): ... this. + (btree_nextkey): Rename to ... + (man_btree_nextkey): ... this. + (btree_nextkeydata): Rename to ... + (man_btree_nextkeydata): ... this. + (btree_get_time): Rename to ... + (man_btree_get_time): ... this. + (btree_set_time): Rename to ... + (man_btree_set_time): ... this. + Update all prototypes and callers for all renames. + (man_btree_close, man_btree_replace, man_btree_insert, man_btree_fetch, + man_btree_exists, man_btree_findkey, man_btree_firstkey, + man_btree_nextkey, man_btree_nextkeydata, man_btree_get_time, + man_btree_set_time): Take man_btree_wrapper parameter rather than DB *. + Update all callers. + + * libdb/db_ndbm.c (ndbm_flclose): Rename to ... + (man_ndbm_close): ... this. + (ndbm_flopen): Rename to ... + (man_ndbm_open): ... this. Copy the given file name before passing it + to dbm_open, since at least GDBM's compatibility implementation declares + that parameter as non-const. Wrap the returned file handle in a + man_ndbm_wrapper structure that remembers the file name. + (ndbm_get_time): Rename to ... + (man_ndbm_get_time): ... this. + (ndbm_set_time): Rename to ... + (man_ndbm_set_time): ... this. + Update all prototypes and callers for all renames. + (man_ndbm_close, man_ndbm_get_time, man_ndbm_set_time): Take + man_ndbm_wrapper parameter rather than DBM *. Update all callers. + + * libdb/mydbm.h (man_ndbm_wrapper): New structure. + (MYDBM_FILE) [NDBM]: Change to man_ndbm_wrapper. + (man_btree_wrapper): New structure. + (MYDBM_FILE) [BTREE]: Change to man_btree_wrapper. + + * libdb/db_lookup.c (gripe_lock): Constify filename parameter. + * libdb/db_storage.h (gripe_lock): Update prototype. + +2019-08-23 Colin Watson <cjwatson@debian.org> + + Recognise eo/ta/uk translations of the NAME section + + (Esperanto, Tamil, and Ukrainian.) + + * src/lexgrog.l (eo_name, ta_name, uk_name): Add. + * NEWS: Document this. + +2019-08-23 Colin Watson <cjwatson@debian.org> + + Remove unused sandbox variables + + We no longer need these, having moved decompression code out of libman. + + * src/accessdb.c, src/catman.c, src/globbing_test.c, src/manpath.c: + Remove "sandbox" global variables. + +2019-08-22 Colin Watson <cjwatson@debian.org> + + Remove unused linkage from whatis + + * src/Makefile.am (whatis_SOURCES): Remove manconv.c and manconv.h. + +2019-08-22 Colin Watson <cjwatson@debian.org> + + Move decompression code out of libman + + Fixes Savannah bug #56734. + + * configure.ac: Remove incorrect Darwin workaround. + * lib/decompress.c: Move to ... + * src/decompress.c: ... here. + * lib/decompress.h: Move to ... + * src/decompress.h: ... here. + * lib/Makefile.am (libman_la_SOURCES): Remove decompress.c and + decompress.h. + (libman_la_LIBADD): Remove $(LIBCOMPRESS). + * lib/README: Remove decompress.*. + * lib/encodings.c: Remove unused #include "decompress.h". + * src/Makefile.am (lexgrog_LDADD, man_LDADD, manconv_LDADD, mandb_LDADD, + zsoelim_LDADD): Add $(LIBCOMPRESS). + (lexgrog_SOURCES, man_SOURCES, manconv_SOURCES, mandb_SOURCES, + zsoelim_SOURCES): Add decompress.c and decompress.h. + * NEWS: Document this. + +2019-08-22 Colin Watson <cjwatson@debian.org> + + Squash warning in order_files stub + + * lib/orderfiles.c [!HAVE_LINUX_FIEMAP_H && !HAVE_POSIX_FADVISE]: Mark + dir and basenamesp arguments as unused. + +2019-08-22 Colin Watson <cjwatson@debian.org> + + Don't save cat pages if --nh/--nj is used + + Fixes Savannah bug #55731. + + * src/man.c (display): Disable cat pages if --no-hyphenation or + --no-justification is used, in effect defining those not to be part of + the canonical state. + * NEWS: Document this. + +2019-08-21 Colin Watson <cjwatson@debian.org> + + sandbox: Allow getrandom, used by Hardened Malloc + + Fixes Savannah bug #56767. + + * lib/sandbox.c (make_seccomp_filter): Allow getrandom. + * NEWS: Document this. + +2019-08-21 Colin Watson <cjwatson@debian.org> + + NEWS: Document EPERM change + + * NEWS: Document change from raising SIGSYS to returning EPERM. + +2019-08-21 Colin Watson <cjwatson@debian.org> + + sandbox: Reorganise using @system-service set + + systemd defines a @system-service set now which covers some of the ones + that were previously isolated here, so reorganise to take account of + that. No functional change. + + * lib/sandbox.c (make_seccomp_filter): Reorganise using systemd's new + @system-service set. + +2019-08-21 Colin Watson <cjwatson@debian.org> + + sandbox: Set default action to EPERM, not TRAP + + Returning EPERM rather than raising SIGSYS is no less secure, and it's + more likely that code injected via LD_PRELOAD will be able to recover + from this somehow. + + * lib/sandbox.c (make_seccomp_filter): Set default action to + SCMP_ACT_ERRNO (EPERM), not SCMP_ACT_TRAP. + +2019-08-14 Colin Watson <cjwatson@debian.org> + + sandbox: Allow sendmsg in the ESET case + + * lib/sandbox.c (make_seccomp_filter): If libesets_pac.so is preloaded, + then allow sendmsg. + * NEWS: Document this. + 2019-08-05 Colin Watson <cjwatson@debian.org> * Version: 2.8.6.1. diff --git a/Makefile.in b/Makefile.in index ccc66959..e649ba05 100644 --- a/Makefile.in +++ b/Makefile.in @@ -183,6 +183,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -448,6 +449,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -655,6 +657,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -729,6 +732,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -736,6 +740,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -817,6 +822,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -839,6 +845,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -889,6 +896,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -908,6 +916,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1008,8 +1017,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1032,7 +1039,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1178,6 +1184,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1226,6 +1233,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1239,6 +1247,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1259,6 +1268,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ @@ -1,3 +1,41 @@ +man-db 2.8.7 (26 August 2019) +============================= + +Major changes since man-db 2.8.6.1: + + Fixes: + ------ + + * Further workarounds for ESET File Security: allow sendmsg when it + is in use. + + * The seccomp sandbox now causes disallowed system calls to return + EPERM rather than raising SIGSYS, in the hope of being less + disruptive to preload hacks. + + * Make seccomp sandbox allow getrandom, used by Hardened Malloc. + + * man no longer saves cat pages if --no-hyphenation or + --no-justification is used. + + * Move decompression code out of libman. This should really fix a + link failure using the Darwin linker (unsuccessfully attempted in + 2.8.6), and possibly on other platforms too. + + * Pass the database file name around in function parameters, rather + than storing it in a global variable with an unresolved symbol + from libmandb. Like the previous item, this fixes a link failure + using the Darwin linker, and possibly on other platforms too. + + * Return database entries in sorted order when using NDBM. (This is + based on a similar fix to the GDBM backend in man-db 2.4.2.) + + Improvements: + ------------- + + * Recognise Esperanto, Tamil, and Ukrainian translations of the NAME + section. + man-db 2.8.6.1 (5 August 2019) ============================== @@ -1626,6 +1626,7 @@ m4_include([gl/m4/ltversion.m4]) m4_include([gl/m4/lt~obsolete.m4]) m4_include([gl/m4/malloc.m4]) m4_include([gl/m4/malloca.m4]) +m4_include([gl/m4/manywarnings.m4]) m4_include([gl/m4/mbrtowc.m4]) m4_include([gl/m4/mbsinit.m4]) m4_include([gl/m4/mbsrtowcs.m4]) diff --git a/bootstrap.conf b/bootstrap.conf index daa5171d..ffdec4c3 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -16,7 +16,7 @@ # along with this program. If not, see <https://www.gnu.org/licenses/>. -GNULIB_REVISION=34881aff4043847f2640d90cf9aa325cc3ad08d6 +GNULIB_REVISION=28eadbdc4c53974c04fb415dc751a2682eaa8b1a # gnulib modules used by this package. gnulib_modules=" @@ -48,6 +48,7 @@ gnulib_modules=" linkedhash-list localcharset lock + manywarnings memmem minmax mkdtemp diff --git a/build-aux/config.guess b/build-aux/config.guess index a81aa505..97ad0733 100755 --- a/build-aux/config.guess +++ b/build-aux/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2019-01-15' +timestamp='2019-07-24' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -262,6 +262,9 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in *:SolidBSD:*:*) echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE" exit ;; + *:OS108:*:*) + echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE" + exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd"$UNAME_RELEASE" exit ;; @@ -275,8 +278,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in echo "$UNAME_MACHINE"-unknown-redox exit ;; mips:OSF1:*.*) - echo mips-dec-osf1 - exit ;; + echo mips-dec-osf1 + exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) @@ -985,22 +988,50 @@ EOF exit ;; mips:Linux:*:* | mips64:Linux:*:*) set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 sed 's/^ //' << EOF > "$dummy.c" #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el + MIPS_ENDIAN=el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} + MIPS_ENDIAN= #else - CPU= + MIPS_ENDIAN= #endif #endif EOF - eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU'`" - test "x$CPU" != x && { echo "$CPU-unknown-linux-$LIBC"; exit; } + eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } ;; mips64el:Linux:*:*) echo "$UNAME_MACHINE"-unknown-linux-"$LIBC" @@ -1113,7 +1144,7 @@ EOF *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac - echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}{$UNAME_VERSION}" + echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}" exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then @@ -1297,38 +1328,39 @@ EOF echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE" exit ;; *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build fi - if test "`echo "$UNAME_RELEASE" | sed -e 's/\..*//'`" -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc - if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_PPC >/dev/null - then - UNAME_PROCESSOR=powerpc - fi + if [ "$CC_FOR_BUILD" != no_compiler_found ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc fi elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE fi echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE" exit ;; @@ -1433,6 +1465,143 @@ EOF exit ;; esac +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" <<EOF +#ifdef _SEQUENT_ +#include <sys/types.h> +#include <sys/utsname.h> +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include <signal.h> +#if defined(_SIZE_T_) || defined(SIGLOST) +#include <sys/utsname.h> +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include <sys/param.h> + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include <sys/param.h> +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + echo "$0: unable to guess system type" >&2 case "$UNAME_MACHINE:$UNAME_SYSTEM" in diff --git a/build-aux/config.sub b/build-aux/config.sub index 3b4c7624..a318a468 100755 --- a/build-aux/config.sub +++ b/build-aux/config.sub @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2019 Free Software Foundation, Inc. -timestamp='2019-01-05' +timestamp='2019-06-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -337,17 +337,14 @@ case $1 in basic_machine=m88k-harris os=sysv3 ;; - hp300) + hp300 | hp300hpux) basic_machine=m68k-hp + os=hpux ;; hp300bsd) basic_machine=m68k-hp os=bsd ;; - hp300hpux) - basic_machine=m68k-hp - os=hpux - ;; hppaosf) basic_machine=hppa1.1-hp os=osf @@ -360,10 +357,6 @@ case $1 in basic_machine=i386-mach os=mach ;; - vsta) - basic_machine=i386-pc - os=vsta - ;; isi68 | isi) basic_machine=m68k-isi os=sysv @@ -612,6 +605,10 @@ case $1 in basic_machine=vax-dec os=vms ;; + vsta) + basic_machine=i386-pc + os=vsta + ;; vxworks960) basic_machine=i960-wrs os=vxworks @@ -822,7 +819,9 @@ case $basic_machine in cpu=m68k vendor=next case $os in - nextstep* ) + openstep*) + ;; + nextstep*) ;; ns2*) os=nextstep2 @@ -1170,7 +1169,7 @@ case $cpu-$vendor in | asmjs \ | ba \ | be32 | be64 \ - | bfin | bs2000 \ + | bfin | bpf | bs2000 \ | c[123]* | c30 | [cjt]90 | c4x \ | c8051 | clipper | craynv | csky | cydra \ | d10v | d30v | dlx | dsp16xx \ @@ -1245,7 +1244,8 @@ case $cpu-$vendor in | v70 | v850 | v850e | v850e1 | v850es | v850e2 | v850e2v3 \ | vax \ | visium \ - | w65 | wasm32 \ + | w65 \ + | wasm32 | wasm64 \ | we32k \ | x86 | x86_64 | xc16x | xgate | xps100 \ | xstormy16 | xtensa* \ @@ -1347,7 +1347,7 @@ case $os in | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \ | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \ | knetbsd* | mirbsd* | netbsd* \ - | bitrig* | openbsd* | solidbsd* | libertybsd* \ + | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \ | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \ | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \ | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \ @@ -1365,7 +1365,8 @@ case $os in | powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ - | midnightbsd* | amdhsa* | unleashed* | emscripten*) + | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ + | nsk* | powerunix) # Remember, each alternative MUST END IN *, to match a version number. ;; qnx*) @@ -1449,9 +1450,6 @@ case $os in ns2) os=nextstep2 ;; - nsk*) - os=nsk - ;; # Preserve the version number of sinix5. sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog index deddef24..163c48c8 100755 --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog @@ -1,31 +1,46 @@ -eval '(exit $?0)' && eval 'exec perl -wS "$0" "$@"' - & eval 'exec perl -wS "$0" $argv:q' - if 0; -# Convert git log output to ChangeLog format. +#!/bin/sh +#! -*-perl-*- -my $VERSION = '2018-03-07 03:47'; # UTC -# The definition above must lie within the first 8 lines in order -# for the Emacs time-stamp write hook (at end) to update it. -# If you change this file with Emacs, please let the write hook -# do its job. Otherwise, update this string manually. +# Convert git log output to ChangeLog format. # Copyright (C) 2008-2019 Free Software Foundation, Inc. - +# # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. - +# # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. - +# # You should have received a copy of the GNU General Public License # along with this program. If not, see <https://www.gnu.org/licenses/>. - +# # Written by Jim Meyering +# This is a prologue that allows to run a perl script as an executable +# on systems that are compliant to a POSIX version before POSIX:2017. +# On such systems, the usual invocation of an executable through execlp() +# or execvp() fails with ENOEXEC if it is a script that does not start +# with a #! line. The script interpreter mentioned in the #! line has +# to be /bin/sh, because on GuixSD systems that is the only program that +# has a fixed file name. The second line is essential for perl and is +# also useful for editing this file in Emacs. The next two lines below +# are valid code in both sh and perl. When executed by sh, they re-execute +# the script through the perl program found in $PATH. The '-x' option +# is essential as well; without it, perl would re-execute the script +# through /bin/sh. When executed by perl, the next two lines are a no-op. +eval 'exec perl -wSx "$0" "$@"' + if 0; + +my $VERSION = '2018-03-07 03:47'; # UTC +# The definition above must lie within the first 8 lines in order +# for the Emacs time-stamp write hook (at end) to update it. +# If you change this file with Emacs, please let the write hook +# do its job. Otherwise, update this string manually. + use strict; use warnings; use Getopt::Long; @@ -174,7 +189,7 @@ sub parse_amend_file($) if (!$in_code) { - $line =~ /^([0-9a-fA-F]{40})$/ + $line =~ /^([[:xdigit:]]{40})$/ or (warn "$ME: $f:$.: invalid line; expected an SHA1\n"), $fail = 1, next; $sha = lc $1; @@ -288,7 +303,7 @@ sub git_dir_option($) my ($sha, $rest) = split ':', $log, 2; defined $sha or die "$ME:$.: malformed log entry\n"; - $sha =~ /^[0-9a-fA-F]{40}$/ + $sha =~ /^[[:xdigit:]]{40}$/ or die "$ME:$.: invalid SHA1: $sha\n"; my $skipflag = 0; @@ -376,7 +391,7 @@ sub git_dir_option($) @skipshas = (); next; } - if ($found && $_ =~ /^([0-9a-fA-F]{7,}) [^ ]/) + if ($found && $_ =~ /^([[:xdigit:]]{7,}) [^ ]/) { push ( @skipshas, $1 ); } @@ -492,6 +507,7 @@ sub git_dir_option($) # mode: perl # indent-tabs-mode: nil # eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-line-limit: 50 # time-stamp-start: "my $VERSION = '" # time-stamp-format: "%:y-%02m-%02d %02H:%02M" # time-stamp-time-zone: "UTC0" diff --git a/build-aux/gnupload b/build-aux/gnupload index edff9bea..afbafa92 100755 --- a/build-aux/gnupload +++ b/build-aux/gnupload @@ -116,12 +116,22 @@ Examples: --symlink-regex \\ foobar-1.0.tar.gz foobar-1.0.tar.xz -4. Upload foobar-0.9.90.tar.gz to two sites: +4. Create a symbolic link foobar-latest.tar.gz -> foobar-1.0.tar.gz + and likewise for the corresponding .sig file: + gnupload --to ftp.gnu.org:foobar \\ + --symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\ + foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig + or (equivalent): + gnupload --to ftp.gnu.org:foobar \\ + --symlink foobar-1.0.tar.gz foobar-latest.tar.gz \\ + --symlink foobar-1.0.tar.gz.sig foobar-latest.tar.gz.sig + +5. Upload foobar-0.9.90.tar.gz to two sites: gnupload --to alpha.gnu.org:foobar \\ --to sources.redhat.com:~ftp/pub/foobar \\ foobar-0.9.90.tar.gz -5. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz +6. Delete oopsbar-0.9.91.tar.gz and upload foobar-0.9.91.tar.gz (the -- terminates the list of files to delete): gnupload --to alpha.gnu.org:foobar \\ --to sources.redhat.com:~ftp/pub/foobar \\ diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh index 68fd36cb..f402c9c1 100644 --- a/build-aux/ltmain.sh +++ b/build-aux/ltmain.sh @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION="2.4.6 Debian-2.4.6-6" +VERSION="2.4.6 Debian-2.4.6-10" package_revision=2.4.6 @@ -64,7 +64,7 @@ package_revision=2.4.6 # libraries, which are installed to $pkgauxdir. # Set a version string for this script. -scriptversion=2015-10-04.22; # UTC +scriptversion=2015-01-20.17; # UTC # General shell script boiler plate, and helper functions. # Written by Gary V. Vaughan, 2004 @@ -1091,57 +1091,6 @@ func_relative_path () } -# func_quote ARG -# -------------- -# Aesthetically quote one ARG, store the result into $func_quote_result. Note -# that we keep attention to performance here (so far O(N) complexity as long as -# func_append is O(1)). -func_quote () -{ - $debug_cmd - - func_quote_result=$1 - - case $func_quote_result in - *[\\\`\"\$]*) - case $func_quote_result in - *[\[\*\?]*) - func_quote_result=`$ECHO "$func_quote_result" | $SED "$sed_quote_subst"` - return 0 - ;; - esac - - func_quote_old_IFS=$IFS - for _G_char in '\' '`' '"' '$' - do - # STATE($1) PREV($2) SEPARATOR($3) - set start "" "" - func_quote_result=dummy"$_G_char$func_quote_result$_G_char"dummy - IFS=$_G_char - for _G_part in $func_quote_result - do - case $1 in - quote) - func_append func_quote_result "$3$2" - set quote "$_G_part" "\\$_G_char" - ;; - start) - set first "" "" - func_quote_result= - ;; - first) - set quote "$_G_part" "" - ;; - esac - done - IFS=$func_quote_old_IFS - done - ;; - *) ;; - esac -} - - # func_quote_for_eval ARG... # -------------------------- # Aesthetically quote ARGs to be evaled later. @@ -1158,8 +1107,12 @@ func_quote_for_eval () func_quote_for_eval_unquoted_result= func_quote_for_eval_result= while test 0 -lt $#; do - func_quote "$1" - _G_unquoted_arg=$func_quote_result + case $1 in + *[\\\`\"\$]*) + _G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;; + *) + _G_unquoted_arg=$1 ;; + esac if test -n "$func_quote_for_eval_unquoted_result"; then func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg" else @@ -2188,7 +2141,7 @@ include the following information: compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname $scriptversion Debian-2.4.6-6 + version: $progname $scriptversion Debian-2.4.6-10 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` @@ -5397,8 +5350,7 @@ else if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" - func_quote "$ECHO" - qECHO=$func_quote_result + qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. @@ -7415,10 +7367,11 @@ func_mode_link () # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -specs=*|-fsanitize=*) + -specs=*|-fsanitize=*|-fuse-ld=*) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result func_append compile_command " $arg" @@ -10655,8 +10608,8 @@ EOF relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done - func_quote "(cd `pwd`; $relink_command)" - relink_command=$func_quote_result + relink_command="(cd `pwd`; $relink_command)" + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. @@ -10902,8 +10855,7 @@ EOF done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - func_quote "$relink_command" - relink_command=$func_quote_result + relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test yes = "$hardcode_automatic"; then relink_command= fi diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex index 48d532bc..d2e895f3 100644 --- a/build-aux/texinfo.tex +++ b/build-aux/texinfo.tex @@ -1,12 +1,11 @@ % texinfo.tex -- TeX macros to handle Texinfo files. -% +% % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2019-01-03-15} - +\def\texinfoversion{2019-08-18.20} % -% Copyright 1985, 1986, 1988, 1990-2018 Free Software Foundation, Inc. +% Copyright 1985, 1986, 1988, 1990-2019 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as @@ -219,7 +218,7 @@ % @errormsg{MSG}. Do the index-like expansions on MSG, but if things % aren't perfect, it's not the end of the world, being an error message, % after all. -% +% \def\errormsg{\begingroup \indexnofonts \doerrormsg} \def\doerrormsg#1{\errmessage{#1}} @@ -258,8 +257,8 @@ % \domark is called twice inside \chapmacro, to add one % mark before the section break, and one after. -% In the second call \prevchapterdefs is the same as \lastchapterdefs, -% and \prevsectiondefs is the same as \lastsectiondefs. +% In the second call \prevchapterdefs is the same as \currentchapterdefs, +% and \prevsectiondefs is the same as \currentsectiondefs. % Then if the page is not broken at the mark, some of the previous % section appears on the page, and we can get the name of this section % from \firstmark for @everyheadingmarks top. @@ -267,11 +266,11 @@ % % See page 260 of The TeXbook. \def\domark{% - \toks0=\expandafter{\lastchapterdefs}% - \toks2=\expandafter{\lastsectiondefs}% + \toks0=\expandafter{\currentchapterdefs}% + \toks2=\expandafter{\currentsectiondefs}% \toks4=\expandafter{\prevchapterdefs}% \toks6=\expandafter{\prevsectiondefs}% - \toks8=\expandafter{\lastcolordefs}% + \toks8=\expandafter{\currentcolordefs}% \mark{% \the\toks0 \the\toks2 % 0: marks for @everyheadingmarks top \noexpand\or \the\toks4 \the\toks6 % 1: for @everyheadingmarks bottom @@ -288,19 +287,19 @@ % @setcolor (or @url, or @link, etc.) between @contents and the very % first @chapter. \def\gettopheadingmarks{% - \ifcase0\topmark\fi + \ifcase0\the\savedtopmark\fi \ifx\thischapter\empty \ifcase0\firstmark\fi \fi } \def\getbottomheadingmarks{\ifcase1\botmark\fi} -\def\getcolormarks{\ifcase2\topmark\fi} +\def\getcolormarks{\ifcase2\the\savedtopmark\fi} % Avoid "undefined control sequence" errors. -\def\lastchapterdefs{} -\def\lastsectiondefs{} -\def\lastsection{} +\def\currentchapterdefs{} +\def\currentsectiondefs{} +\def\currentsection{} \def\prevchapterdefs{} \def\prevsectiondefs{} -\def\lastcolordefs{} +\def\currentcolordefs{} % Margin to add to right of even pages, to left of odd pages. \newdimen\bindingoffset @@ -310,11 +309,35 @@ % Main output routine. % \chardef\PAGE = 255 -\output = {\onepageout{\pagecontents\PAGE}} +\newtoks\defaultoutput +\defaultoutput = {\savetopmark\onepageout{\pagecontents\PAGE}} +\output=\expandafter{\the\defaultoutput} \newbox\headlinebox \newbox\footlinebox +% When outputting the double column layout for indices, an output routine +% is run several times, which hides the original value of \topmark. This +% can lead to a page heading being output and duplicating the chapter heading +% of the index. Hence, save the contents of \topmark at the beginning of +% the output routine. The saved contents are valid until we actually +% \shipout a page. +% +% (We used to run a short output routine to actually set \topmark and +% \firstmark to the right values, but if this was called with an empty page +% containing whatsits for writing index entries, the whatsits would be thrown +% away and the index auxiliary file would remain empty.) +% +\newtoks\savedtopmark +\newif\iftopmarksaved +\topmarksavedtrue +\def\savetopmark{% + \iftopmarksaved\else + \global\savedtopmark=\expandafter{\topmark}% + \global\topmarksavedtrue + \fi +} + % \onepageout takes a vbox as an argument. % \shipout a vbox for a single page, adding an optional header, footer % and footnote. This also causes index entries for this page to be written @@ -326,34 +349,35 @@ \ifodd\pageno \advance\hoffset by \bindingoffset \else \advance\hoffset by -\bindingoffset\fi % - % Common context changes for both heading and footing. - % Do this outside of the \shipout so @code etc. will be expanded in - % the headline as they should be, not taken literally (outputting ''code). - \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars} - % % Retrieve the information for the headings from the marks in the page, % and call Plain TeX's \makeheadline and \makefootline, which use the % values in \headline and \footline. % % This is used to check if we are on the first page of a chapter. - \ifcase1\topmark\fi + \ifcase1\the\savedtopmark\fi \let\prevchaptername\thischaptername \ifcase0\firstmark\fi \let\curchaptername\thischaptername % \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi % \ifx\curchaptername\prevchaptername \let\thischapterheading\thischapter \else % \thischapterheading is the same as \thischapter except it is blank - % for the first page of a chapter. This is to prevent the chapter name + % for the first page of a chapter. This is to prevent the chapter name % being shown twice. \def\thischapterheading{}% \fi % + % Common context changes for both heading and footing. + % Do this outside of the \shipout so @code etc. will be expanded in + % the headline as they should be, not taken literally (outputting ''code). + \def\commmonheadfootline{\let\hsize=\txipagewidth \texinfochars} + % \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% + % + \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% % {% @@ -362,14 +386,8 @@ % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % - \indexdummies % don't expand commands in the output. - \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. - % We don't want .vr (or whatever) entries like this: - % \entry{{\indexbackslash }acronym}{32}{\code {\acronym}} - % "\acronym" won't work when it's read back in; - % it needs to be - % {\code {{\backslashcurfont }acronym} + \atdummies % don't expand commands in the output. + \turnoffactive \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi @@ -384,8 +402,9 @@ \unvbox\footlinebox \fi % - }% end of \shipout\vbox - }% end of group with \indexdummies + }% + }% + \global\topmarksavedfalse \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } @@ -429,11 +448,10 @@ }% } -% First remove any @comment, then any @c comment. Also remove a @texinfoc -% comment (see \scanmacro for details). Pass the result on to \argcheckspaces. +% First remove any @comment, then any @c comment. Pass the result on to +% \argcheckspaces. \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} -\def\argremovec#1\c#2\ArgTerm{\argremovetexinfoc #1\texinfoc\ArgTerm} -\def\argremovetexinfoc#1\texinfoc#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} +\def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} % Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space. % @@ -1105,11 +1123,21 @@ where each line of input produces a line of output.} \fi \fi +\newif\ifpdforxetex +\pdforxetexfalse +\ifpdf + \pdforxetextrue +\fi +\ifx\XeTeXrevision\thisisundefined\else + \pdforxetextrue +\fi + + % PDF uses PostScript string constants for the names of xref targets, % for display in the outlines, and in other places. Thus, we have to % double any backslashes. Otherwise, a name like "\node" will be % interpreted as a newline (\n), followed by o, d, e. Not good. -% +% % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and % related messages. The final outcome is that it is up to the TeX user % to double the backslashes and otherwise make the string valid, so @@ -1161,7 +1189,7 @@ output) for that.)} % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% - \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% + \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } @@ -1169,7 +1197,7 @@ output) for that.)} \def\maincolor{\rgbBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} - \def\lastcolordefs{} + \def\currentcolordefs{} % \def\makefootline{% \baselineskip24pt @@ -1414,7 +1442,7 @@ output) for that.)} % their "best" equivalent, based on the @documentencoding. Too % much work for too little return. Just use the ASCII equivalents % we use for the index sort strings. - % + % \indexnofonts \setupdatafile % We can have normal brace characters in the PDF outlines, unlike @@ -1547,7 +1575,7 @@ output) for that.)} % Set color, and create a mark which defines \thiscolor accordingly, % so that \makeheadline knows which color to restore. \def\setcolor#1{% - \xdef\lastcolordefs{\gdef\noexpand\thiscolor{#1}}% + \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}% \domark \pdfsetcolor{#1}% } @@ -1555,7 +1583,7 @@ output) for that.)} \def\maincolor{\rgbBlack} \pdfsetcolor{\maincolor} \edef\thiscolor{\maincolor} - \def\lastcolordefs{} + \def\currentcolordefs{} % \def\makefootline{% \baselineskip24pt @@ -2147,7 +2175,7 @@ end % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstep1}{OT1} \setfont\deftt\ttshape{10}{\magstep1}{OT1TT} -\setfont\defsl\slshape{10}{\magstep1}{OT1TT} +\setfont\defsl\slshape{10}{\magstep1}{OT1} \setfont\defttsl\ttslshape{10}{\magstep1}{OT1TT} \def\df{\let\ttfont=\deftt \let\bffont = \defbf \let\ttslfont=\defttsl \let\slfont=\defsl \bf} @@ -2295,7 +2323,7 @@ end % A few fonts for @defun names and args. \setfont\defbf\bfshape{10}{\magstephalf}{OT1} \setfont\deftt\ttshape{10}{\magstephalf}{OT1TT} -\setfont\defsl\slshape{10}{\magstephalf}{OT1TT} +\setfont\defsl\slshape{10}{\magstephalf}{OT1} \setfont\defttsl\ttslshape{10}{\magstephalf}{OT1TT} \def\df{\let\ttfont=\deftt \let\bffont = \defbf \let\slfont=\defsl \let\ttslfont=\defttsl \bf} @@ -2698,7 +2726,7 @@ end } % Commands to set the quote options. -% +% \parseargdef\codequoteundirected{% \def\temp{#1}% \ifx\temp\onword @@ -2739,7 +2767,7 @@ end % If we are in a monospaced environment, however, 1) always use \ttsl, % and 2) do not add an italic correction. \def\dosmartslant#1#2{% - \ifusingtt + \ifusingtt {{\ttsl #2}\let\next=\relax}% {\def\next{{#1#2}\futurelet\next\smartitaliccorrection}}% \next @@ -2818,7 +2846,7 @@ end % @t, explicit typewriter. \def\t#1{% - {\tt \rawbackslash \plainfrenchspacing #1}% + {\tt \plainfrenchspacing #1}% \null } @@ -2845,7 +2873,6 @@ end % Turn off hyphenation. \nohyphenation % - \rawbackslash \plainfrenchspacing #1% }% @@ -2887,14 +2914,14 @@ end \gdef\codedash{\futurelet\next\codedashfinish} \gdef\codedashfinish{% \normaldash % always output the dash character itself. - % + % % Now, output a discretionary to allow a line break, unless % (a) the next character is a -, or % (b) the preceding character is a -. % E.g., given --posix, we do not want to allow a break after either -. % Given --foo-bar, we do want to allow a break between the - and the b. \ifx\next\codedash \else - \ifx\codedashprev\codedash + \ifx\codedashprev\codedash \else \discretionary{}{}{}\fi \fi % we need the space after the = for the case when \next itself is a @@ -2976,7 +3003,7 @@ end % For pdfTeX and LuaTeX \ifurefurlonlylink % PDF plus option to not display url, show just arg - \unhbox0 + \unhbox0 \else % PDF, normally display both arg and url for consistency, % visibility, if the pdf is eventually used to print, etc. @@ -2989,7 +3016,7 @@ end % For XeTeX \ifurefurlonlylink % PDF plus option to not display url, show just arg - \unhbox0 + \unhbox0 \else % PDF, normally display both arg and url for consistency, % visibility, if the pdf is eventually used to print, etc. @@ -3032,41 +3059,33 @@ end \global\def/{\normalslash} } -% we put a little stretch before and after the breakable chars, to help -% line breaking of long url's. The unequal skips make look better in -% cmtt at least, especially for dots. -\def\urefprestretchamount{.13em} -\def\urefpoststretchamount{.1em} -\def\urefprestretch{\urefprebreak \hskip0pt plus\urefprestretchamount\relax} -\def\urefpoststretch{\urefpostbreak \hskip0pt plus\urefprestretchamount\relax} -% -\def\urefcodeamp{\urefprestretch \&\urefpoststretch} -\def\urefcodedot{\urefprestretch .\urefpoststretch} -\def\urefcodehash{\urefprestretch \#\urefpoststretch} -\def\urefcodequest{\urefprestretch ?\urefpoststretch} +\def\urefcodeamp{\urefprebreak \&\urefpostbreak} +\def\urefcodedot{\urefprebreak .\urefpostbreak} +\def\urefcodehash{\urefprebreak \#\urefpostbreak} +\def\urefcodequest{\urefprebreak ?\urefpostbreak} \def\urefcodeslash{\futurelet\next\urefcodeslashfinish} { \catcode`\/=\active \global\def\urefcodeslashfinish{% - \urefprestretch \slashChar + \urefprebreak \slashChar % Allow line break only after the final / in a sequence of % slashes, to avoid line break between the slashes in http://. - \ifx\next/\else \urefpoststretch \fi + \ifx\next/\else \urefpostbreak \fi } } -% One more complication: by default we'll break after the special -% characters, but some people like to break before the special chars, so -% allow that. Also allow no breaking at all, for manual control. -% +% By default we'll break after the special characters, but some people like to +% break before the special chars, so allow that. Also allow no breaking at +% all, for manual control. +% \parseargdef\urefbreakstyle{% \def\txiarg{#1}% \ifx\txiarg\wordnone \def\urefprebreak{\nobreak}\def\urefpostbreak{\nobreak} \else\ifx\txiarg\wordbefore - \def\urefprebreak{\allowbreak}\def\urefpostbreak{\nobreak} + \def\urefprebreak{\urefallowbreak}\def\urefpostbreak{\nobreak} \else\ifx\txiarg\wordafter - \def\urefprebreak{\nobreak}\def\urefpostbreak{\allowbreak} + \def\urefprebreak{\nobreak}\def\urefpostbreak{\urefallowbreak} \else \errhelp = \EMsimple \errmessage{Unknown @urefbreakstyle setting `\txiarg'}% @@ -3076,6 +3095,14 @@ end \def\wordbefore{before} \def\wordnone{none} +% Allow a ragged right output to aid breaking long URL's. Putting stretch in +% between characters of the URL doesn't look good. +\def\urefallowbreak{% + \hskip 0pt plus 4 em\relax + \allowbreak + \hskip 0pt plus -4 em\relax +} + \urefbreakstyle after % @url synonym for @uref, since that's how everyone uses it. @@ -3086,7 +3113,7 @@ end % So now @email is just like @uref, unless we are pdf. % %\def\email#1{\angleleft{\tt #1}\angleright} -\ifpdf +\ifpdforxetex \def\email#1{\doemail#1,,\finish} \def\doemail#1,#2,#3\finish{\begingroup \unsepspaces @@ -3096,18 +3123,7 @@ end \endlink \endgroup} \else - \ifx\XeTeXrevision\thisisundefined - \let\email=\uref - \else - \def\email#1{\doemail#1,,\finish} - \def\doemail#1,#2,#3\finish{\begingroup - \unsepspaces - \pdfurl{mailto:#1}% - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0>0pt\unhbox0\else\code{#1}\fi - \endlink - \endgroup} - \fi + \let\email=\uref \fi % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), @@ -3283,7 +3299,7 @@ end % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}. % Ignore unless FMTNAME == tex; then it is like @iftex and @tex, % except specified as a normal braced arg, so no newlines to worry about. -% +% \def\outfmtnametex{tex} % \long\def\inlinefmt#1{\doinlinefmt #1,\finish} @@ -3291,7 +3307,7 @@ end \def\inlinefmtname{#1}% \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi } -% +% % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if % FMTNAME is tex, else ELSE-TEXT. \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} @@ -3307,7 +3323,7 @@ end % *right* brace they would have to use a command anyway, so they may as % well use a command to get a left brace too. We could re-use the % delimiter character idea from \verb, but it seems like overkill. -% +% \long\def\inlineraw{\tex \doinlineraw} \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish} \def\doinlinerawtwo#1,#2,\finish{% @@ -3584,7 +3600,7 @@ end % for non-CM glyphs. That is ec* for regular text and tc* for the text % companion symbols (LaTeX TS1 encoding). Both are part of the ec % package and follow the same conventions. -% +% \def\ecfont{\etcfont{e}} \def\tcfont{\etcfont{t}} % @@ -3656,7 +3672,7 @@ end after the title page.}}% \def\setshortcontentsaftertitlepage{% \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo - command; move your @shortcontents and @contents commands if you + command; move your @shortcontents and @contents commands if you want the contents after the title page.}}% \parseargdef\shorttitlepage{% @@ -3711,7 +3727,7 @@ end % don't worry much about spacing, ragged right. This should be used % inside a \vbox, and fonts need to be set appropriately first. \par should % be specified before the end of the \vbox, since a vbox is a group. -% +% \def\raggedtitlesettings{% \rm \hyphenpenalty=10000 @@ -4334,7 +4350,7 @@ end } % multitable-only commands. -% +% % @headitem starts a heading row, which we typeset in bold. Assignments % have to be global since we are inside the implicit group of an % alignment entry. \everycr below resets \everytab so we don't have to @@ -4641,19 +4657,6 @@ end } } -% We have this subroutine so that we can handle at least some @value's -% properly in indexes (we call \makevalueexpandable in \indexdummies). -% The command has to be fully expandable (if the variable is set), since -% the result winds up in the index file. This means that if the -% variable's value contains other Texinfo commands, it's almost certain -% it will fail (although perhaps we could fix that with sufficient work -% to do a one-level expansion on the result, instead of complete). -% -% Unfortunately, this has the consequence that when _ is in the *value* -% of an @set, it does not print properly in the roman fonts (get the cmr -% dot accent at position 126 instead). No fix comes to mind, and it's -% been this way since 2003 or earlier, so just ignore it. -% \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% @@ -4666,13 +4669,13 @@ end % Like \expandablevalue, but completely expandable (the \message in the % definition above operates at the execution level of TeX). Used when % writing to auxiliary files, due to the expansion that \write does. -% If flag is undefined, pass through an unexpanded @value command: maybe it +% If flag is undefined, pass through an unexpanded @value command: maybe it % will be set by the time it is read back in. % % NB flag names containing - or _ may not work here. \def\dummyvalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax - \noexpand\value{#1}% + \string\value{#1}% \else \csname SET#1\endcsname \fi @@ -4682,7 +4685,7 @@ end % if possible, otherwise sort late. \def\indexnofontsvalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax - ZZZZZZZ + ZZZZZZZ% \else \csname SET#1\endcsname \fi @@ -4690,7 +4693,7 @@ end % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined % with @set. -% +% % To get the special treatment we need for `@end ifset,' we call % \makecond and then redefine. % @@ -4723,7 +4726,7 @@ end % without the @) is in fact defined. We can only feasibly check at the % TeX level, so something like `mathcode' is going to considered % defined even though it is not a Texinfo command. -% +% \makecond{ifcommanddefined} \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}} % @@ -4831,24 +4834,9 @@ end \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx} \def\docodeindexxxx #1{\doind{\indexname}{\code{#1}}} - -% Used when writing an index entry out to an index file to prevent -% expansion of Texinfo commands that can appear in an index entry. -% -\def\indexdummies{% - \escapechar = `\\ % use backslash in output files. - \definedummyletter\@% - \definedummyletter\ % - % - % For texindex which always views { and } as separators. - \def\{{\lbracechar{}}% - \def\}{\rbracechar{}}% - % - % Do the redefinitions. - \definedummies -} -% Used for the aux and toc files, where @ is the escape character. +% Used for the aux, toc and index files to prevent expansion of Texinfo +% commands. % \def\atdummies{% \definedummyletter\@% @@ -4878,8 +4866,7 @@ end \def\definedummyletter#1{\def#1{\string#1}}% \let\definedummyaccent\definedummyletter -% Called from \indexdummies and \atdummies, to effectively prevent -% the expansion of commands. +% Called from \atdummies to prevent the expansion of commands. % \def\definedummies{% % @@ -4928,6 +4915,7 @@ end % Assorted special characters. \definedummyword\atchar \definedummyword\arrow + \definedummyword\backslashchar \definedummyword\bullet \definedummyword\comma \definedummyword\copyright @@ -4964,6 +4952,8 @@ end \definedummyword\sup \definedummyword\textdegree % + \definedummyword\subentry + % % We want to disable all macros so that they are not expanded by \write. \macrolist \let\value\dummyvalue @@ -5044,11 +5034,10 @@ end \commondummyword\xref } -% This does nothing, but for a time it was recommended to use -% \usebracesinindexestrue to be able to use braces in index entries. - \let\indexlbrace\relax \let\indexrbrace\relax +\let\indexatchar\relax +\let\indexbackslash\relax {\catcode`\@=0 \catcode`\\=13 @@ -5082,10 +5071,8 @@ end } \gdef\indexnonalnumreappear{% - \useindexbackslash \let-\normaldash \let<\normalless - \def\@{@}% } } @@ -5193,39 +5180,19 @@ end } \def\defglyph#1#2{\def#1##1{#2}} % see above - -\let\SETmarginindex=\relax % put index entries in margin (undocumented)? -% Most index entries go through here, but \dosubind is the general case. % #1 is the index name, #2 is the entry text. -\def\doind#1#2{\dosubind{#1}{#2}{}} - -% There is also \dosubind {index}{topic}{subtopic} -% which makes an entry in a two-level index such as the operation index. -% TODO: Two-level index? Operation index? - -% Workhorse for all indexes. -% #1 is name of index, #2 is stuff to put there, #3 is subentry -- -% empty if called from \doind, as we usually are (the main exception -% is with most defuns, which call us directly). -% -\def\dosubind#1#2#3{% +\def\doind#1#2{% \iflinks {% - \requireopenindexfile{#1}% - % Store the main index entry text (including the third arg). - \toks0 = {#2}% - % If third arg is present, precede it with a space. - \def\thirdarg{#3}% - \ifx\thirdarg\empty \else - \toks0 = \expandafter{\the\toks0 \space #3}% - \fi % + \requireopenindexfile{#1}% \edef\writeto{\csname#1indfile\endcsname}% % - \safewhatsit\dosubindwrite + \def\indextext{#2}% + \safewhatsit\doindwrite }% \fi } @@ -5240,28 +5207,14 @@ end \ifx\suffix\indexisfl\def\suffix{f1}\fi % Open the file \immediate\openout\csname#1indfile\endcsname \jobname.\suffix - % Using \immediate above here prevents an object entering into the current + % Using \immediate above here prevents an object entering into the current % box, which could confound checks such as those in \safewhatsit for % preceding skips. \typeout{Writing index file \jobname.\suffix}% \fi} \def\indexisfl{fl} -% Output \ as {\indexbackslash}, because \ is an escape character in -% the index files. -\let\indexbackslash=\relax -{\catcode`\@=0 \catcode`\\=\active - @gdef@useindexbackslash{@def\{{@indexbackslash}}} -} - -% Definition for writing index entry text. -\def\sortas#1{\ignorespaces}% - -% Definition for writing index entry sort key. Should occur at the at -% the beginning of the index entry, like -% @cindex @sortas{september} \september -% The \ignorespaces takes care of following space, but there's no way -% to remove space before it. +% Definition for writing index entry sort key. { \catcode`\-=13 \gdef\indexwritesortas{% @@ -5272,51 +5225,150 @@ end \xdef\indexsortkey{#1}\endgroup} } +\def\indexwriteseealso#1{ + \gdef\pagenumbertext{\string\seealso{#1}}% +} +\def\indexwriteseeentry#1{ + \gdef\pagenumbertext{\string\seeentry{#1}}% +} + +% The default definitions +\def\sortas#1{}% +\def\seealso#1{\i{\putwordSeeAlso}\ #1}% for sorted index file only +\def\putwordSeeAlso{See also} +\def\seeentry#1{\i{\putwordSee}\ #1}% for sorted index file only + -% Write the entry in \toks0 to the index file. +% Given index entry text like "aaa @subentry bbb @sortas{ZZZ}": +% * Set \bracedtext to "{aaa}{bbb}" +% * Set \fullindexsortkey to "aaa @subentry ZZZ" +% * If @seealso occurs, set \pagenumbertext % -\def\dosubindwrite{% - % Put the index entry in the margin if desired. - \ifx\SETmarginindex\relax\else - \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \the\toks0}}% +\def\splitindexentry#1{% + \gdef\fullindexsortkey{}% + \xdef\bracedtext{}% + \def\sep{}% + \def\seealso##1{}% + \def\seeentry##1{}% + \expandafter\doindexsegment#1\subentry\finish\subentry +} + +% append the results from the next segment +\def\doindexsegment#1\subentry{% + \def\segment{#1}% + \ifx\segment\isfinish + \else + % + % Fully expand the segment, throwing away any @sortas directives, and + % trim spaces. + \edef\trimmed{\segment}% + \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% + % + \xdef\bracedtext{\bracedtext{\trimmed}}% + % + % Get the string to sort by. Process the segment with all + % font commands turned off. + \bgroup + \let\sortas\indexwritesortas + \let\seealso\indexwriteseealso + \let\seeentry\indexwriteseeentry + \indexnofonts + % The braces around the commands are recognized by texindex. + \def\lbracechar{{\string\indexlbrace}}% + \def\rbracechar{{\string\indexrbrace}}% + \let\{=\lbracechar + \let\}=\rbracechar + \def\@{{\string\indexatchar}}% + \def\atchar##1{\@}% + \def\backslashchar{{\string\indexbackslash}}% + \uccode`\~=`\\ \uppercase{\let~\backslashchar}% + % + \let\indexsortkey\empty + \global\let\pagenumbertext\empty + % Execute the segment and throw away the typeset output. This executes + % any @sortas or @seealso commands in this segment. + \setbox\dummybox = \hbox{\segment}% + \ifx\indexsortkey\empty{% + \indexnonalnumdisappear + \xdef\trimmed{\segment}% + \xdef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}% + \xdef\indexsortkey{\trimmed}% + \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi + }\fi + % + % Append to \fullindexsortkey. + \edef\tmp{\gdef\noexpand\fullindexsortkey{% + \fullindexsortkey\sep\indexsortkey}}% + \tmp + \egroup + \def\sep{\subentry}% + % + \expandafter\doindexsegment \fi +} +\def\isfinish{\finish}% +\newbox\dummybox % used above + +\let\subentry\relax + +% Use \ instead of @ in index files. To support old texi2dvi and texindex. +% This works without changing the escape character used in the toc or aux +% files because the index entries are fully expanded here, and \string uses +% the current value of \escapechar. +\def\escapeisbackslash{\escapechar=`\\} + +% Use \ in index files by default. texi2dvi didn't support @ as the escape +% character (as it checked for "\entry" in the files, and not "@entry"). When +% the new version of texi2dvi has had a chance to become more prevalent, then +% the escape character can change back to @ again. This should be an easy +% change to make now because both @ and \ are only used as escape characters in +% index files, never standing for themselves. +% +\set txiindexescapeisbackslash + +% Write the entry in \indextext to the index file. +% +\def\doindwrite{% + \maybemarginindex % - % Remember, we are within a group. - \indexdummies % Must do this here, since \bf, etc expand at this stage - \useindexbackslash % \indexbackslash isn't defined now so it will be output - % as is; and it will print as backslash. - % The braces around \indexbrace are recognized by texindex. - % - % Get the string to sort by, by processing the index entry with all - % font commands turned off. - {\indexnofonts - \def\lbracechar{{\indexlbrace}}% - \def\rbracechar{{\indexrbrace}}% - \let\{=\lbracechar - \let\}=\rbracechar - \indexnonalnumdisappear - \xdef\indexsortkey{}% - \let\sortas=\indexwritesortas - \edef\temp{\the\toks0}% - \setbox\dummybox = \hbox{\temp}% Make sure to execute any \sortas - \ifx\indexsortkey\empty - \xdef\indexsortkey{\temp}% - \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi - \fi - }% + \atdummies + % + \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax\else + \escapeisbackslash + \fi + % + % For texindex which always views { and } as separators. + \def\{{\lbracechar{}}% + \def\}{\rbracechar{}}% + \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}% + % + % Split the entry into primary entry and any subentries, and get the index + % sort key. + \splitindexentry\indextext % % Set up the complete index entry, with both the sort key and % the original text, including any font commands. We write % three arguments to \entry to the .?? file (four in the % subentry case), texindex reduces to two when writing the .??s % sorted result. + % \edef\temp{% \write\writeto{% - \string\entry{\indexsortkey}{\noexpand\folio}{\the\toks0}}% + \string\entry{\fullindexsortkey}% + {\ifx\pagenumbertext\empty\noexpand\folio\else\pagenumbertext\fi}% + \bracedtext}% }% \temp } -\newbox\dummybox % used above + +% Put the index entry in the margin if desired (undocumented). +\def\maybemarginindex{% + \ifx\SETmarginindex\relax\else + \insert\margin{\hbox{\vrule height8pt depth3pt width0pt \relax\indextext}}% + \fi +} +\let\SETmarginindex=\relax + % Take care of unwanted page breaks/skips around a whatsit: % @@ -5404,9 +5456,14 @@ end % \entry {topic}{pagelist} % for a topic that is used without subtopics % \primary {topic} +% \entry {topic}{} % for the beginning of a topic that is used with subtopics % \secondary {subtopic}{pagelist} % for each subtopic. +% \secondary {subtopic}{} +% for a subtopic with sub-subtopics +% \tertiary {subtopic}{subsubtopic}{pagelist} +% for each sub-subtopic. % Define the user-accessible indexing commands % @findex, @vindex, @kindex, @cindex. @@ -5418,11 +5475,6 @@ end \def\tindex {\tpindex} \def\pindex {\pgindex} -\def\cindexsub {\begingroup\obeylines\cindexsub} -{\obeylines % -\gdef\cindexsub "#1" #2^^M{\endgroup % -\dosubind{cp}{#2}{#1}}} - % Define the macros used in formatting output of the sorted index material. % @printindex causes a particular index (the ??s file) to get printed. @@ -5436,14 +5488,10 @@ end \plainfrenchspacing \everypar = {}% don't want the \kern\-parindent from indentation suppression. % - % See if the index file exists and is nonempty. - % Change catcode of @ here so that if the index file contains - % \initial {@} - % as its first line, TeX doesn't complain about mismatched braces - % (because it thinks @} is a control sequence). - \catcode`\@ = 12 % See comment in \requireopenindexfile. \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi + % + % See if the index file exists and is nonempty. \openin 1 \jobname.\indexname s \ifeof 1 % \enddoublecolumns gets confused if there is no text in the index, @@ -5453,8 +5501,6 @@ end \putwordIndexNonexistent \typeout{No file \jobname.\indexname s.}% \else - \catcode`\\ = 0 - % % If the index file exists but is empty, then \openin leaves \ifeof % false. We have to make TeX try to read something from the file, so % it can discover if there is anything in it. @@ -5462,47 +5508,51 @@ end \ifeof 1 \putwordIndexIsEmpty \else - % Index files are almost Texinfo source, but we use \ as the escape - % character. It would be better to use @, but that's too big a change - % to make right now. - \def\indexbackslash{\ttbackslash}% - \let\indexlbrace\{ % Likewise, set these sequences for braces - \let\indexrbrace\} % used in the sort key. - \begindoublecolumns - \let\dotheinsertentrybox\dotheinsertentryboxwithpenalty - % - % Read input from the index file line by line. - \loopdo - \ifeof1 \else - \read 1 to \nextline - \fi - % - \indexinputprocessing - \thisline - % - \ifeof1\else - \let\thisline\nextline - \repeat - %% - \enddoublecolumns + \expandafter\printindexzz\thisline\relax\relax\finish% \fi \fi \closein 1 \endgroup} -\def\loopdo#1\repeat{\def\body{#1}\loopdoxxx} -\def\loopdoxxx{\let\next=\relax\body\let\next=\loopdoxxx\fi\next} -\def\indexinputprocessing{% - \ifeof1 - \let\firsttoken\relax +% If the index file starts with a backslash, forgo reading the index +% file altogether. If somebody upgrades texinfo.tex they may still have +% old index files using \ as the escape character. Reading this would +% at best lead to typesetting garbage, at worst a TeX syntax error. +\def\printindexzz#1#2\finish{% + \expandafter\ifx\csname SETtxiindexescapeisbackslash\endcsname\relax + \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1 + \expandafter\ifx\csname SETtxiskipindexfileswithbackslash\endcsname\relax +\errmessage{% +ERROR: A sorted index file in an obsolete format was skipped. +To fix this problem, please upgrade your version of 'texi2dvi' +or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>. +If you are using an old version of 'texindex' (part of the Texinfo +distribution), you may also need to upgrade to a newer version (at least 6.0). +You may be able to typeset the index if you run +'texindex \jobname.\indexname' yourself. +You could also try setting the 'txiindexescapeisbackslash' flag by +running a command like +'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do +this, Texinfo will try to use index files in the old format. +If you continue to have problems, deleting the index files and starting again +might help (with 'rm \jobname.?? \jobname.??s')% +}% + \else + (Skipped sorted index file in obsolete format) + \fi + \else + \begindoublecolumns + \input \jobname.\indexname s + \enddoublecolumns + \fi \else - \edef\act{\gdef\noexpand\firsttoken{\getfirsttoken\nextline}}% - \act + \begindoublecolumns + \catcode`\\=0\relax + \catcode`\@=12\relax + \input \jobname.\indexname s + \enddoublecolumns \fi } -\def\getfirsttoken#1{\expandafter\getfirsttokenx#1\endfirsttoken} -\long\def\getfirsttokenx#1#2\endfirsttoken{\noexpand#1} - % These macros are used by the sorted index file itself. % Change them to control the appearance of the index. @@ -5511,12 +5561,19 @@ end \catcode`\|=13 \catcode`\<=13 \catcode`\>=13 \catcode`\+=13 \catcode`\"=13 \catcode`\$=3 \gdef\initialglyphs{% + % special control sequences used in the index sort key + \let\indexlbrace\{% + \let\indexrbrace\}% + \let\indexatchar\@% + \def\indexbackslash{\math{\backslash}}% + % % Some changes for non-alphabetic characters. Using the glyphs from the % math fonts looks more consistent than the typewriter font used elsewhere % for these characters. - \def\indexbackslash{\math{\backslash}}% - \let\\=\indexbackslash + \uccode`\~=`\\ \uppercase{\def~{\math{\backslash}}} % + % In case @\ is used for backslash + \uppercase{\let\\=~} % Can't get bold backslash so don't use bold forward slash \catcode`\/=13 \def/{{\secrmnotbold \normalslash}}% @@ -5546,7 +5603,7 @@ end % bottom of a column to reduce an increase in inter-line spacing. \nobreak \vskip 0pt plus 5\baselineskip - \penalty -300 + \penalty -300 \vskip 0pt plus -5\baselineskip % % Typeset the initial. Making this add up to a whole number of @@ -5576,12 +5633,6 @@ end \def\entry{% \begingroup % - % For pdfTeX and XeTeX. - % The redefinition of \domark stops marks being added in \pdflink to - % preserve coloured links across page boundaries. Otherwise the marks - % would get in the way of \lastbox in \insertentrybox. - \let\domark\relax - % % Start a new paragraph if necessary, so our assignments below can't % affect previous text. \par @@ -5614,35 +5665,31 @@ end \gdef\finishentry#1{% \egroup % end box A \dimen@ = \wd\boxA % Length of text of entry - \global\setbox\boxA=\hbox\bgroup\unhbox\boxA - % #1 is the page number. - % - % Get the width of the page numbers, and only use - % leaders if they are present. - \global\setbox\boxB = \hbox{#1}% - \ifdim\wd\boxB = 0pt - \null\nobreak\hfill\ % - \else - % - \null\nobreak\indexdotfill % Have leaders before the page number. + \global\setbox\boxA=\hbox\bgroup + \unhbox\boxA + % #1 is the page number. % - \ifpdf - \pdfgettoks#1.% - \hskip\skip\thinshrinkable\the\toksA + % Get the width of the page numbers, and only use + % leaders if they are present. + \global\setbox\boxB = \hbox{#1}% + \ifdim\wd\boxB = 0pt + \null\nobreak\hfill\ % \else - \ifx\XeTeXrevision\thisisundefined - \hskip\skip\thinshrinkable #1% - \else + % + \null\nobreak\indexdotfill % Have leaders before the page number. + % + \ifpdforxetex \pdfgettoks#1.% \hskip\skip\thinshrinkable\the\toksA + \else + \hskip\skip\thinshrinkable #1% \fi \fi - \fi \egroup % end \boxA \ifdim\wd\boxB = 0pt - \global\setbox\entrybox=\vbox{\unhbox\boxA}% - \else - \global\setbox\entrybox=\vbox\bgroup + \noindent\unhbox\boxA\par + \nobreak + \else\bgroup % We want the text of the entries to be aligned to the left, and the % page numbers to be aligned to the right. % @@ -5672,7 +5719,7 @@ end \advance\dimen@ii by 1\dimen@i \ifdim\wd\boxA > \dimen@ii % If the entry doesn't fit in one line \ifdim\dimen@ > 0.8\dimen@ii % due to long index text - % Try to split the text roughly evenly. \dimen@ will be the length of + % Try to split the text roughly evenly. \dimen@ will be the length of % the first line. \dimen@ = 0.7\dimen@ \dimen@ii = \hsize @@ -5708,55 +5755,11 @@ end \egroup % The \vbox \fi \endgroup - \dotheinsertentrybox }} \newskip\thinshrinkable \skip\thinshrinkable=.15em minus .15em -\newbox\entrybox -\def\insertentrybox{% - \ourunvbox\entrybox -} - -% default definition -\let\dotheinsertentrybox\insertentrybox - -% Use \lastbox to take apart vbox box by box, and add each sub-box -% to the current vertical list. -\def\ourunvbox#1{% -\bgroup % for local binding of \delayedbox - % Remove the last box from box #1 - \global\setbox#1=\vbox{% - \unvbox#1% - \unskip % remove any glue - \unpenalty - \global\setbox\interbox=\lastbox - }% - \setbox\delayedbox=\box\interbox - \ifdim\ht#1=0pt\else - \ourunvbox#1 % Repeat on what's left of the box - \nobreak - \fi - \box\delayedbox -\egroup -} -\newbox\delayedbox -\newbox\interbox - -% Used from \printindex. \firsttoken should be the first token -% after the \entry. If it's not another \entry, we are at the last -% line of a group of index entries, so insert a penalty to discourage -% widowed index entries. -\def\dotheinsertentryboxwithpenalty{% - \ifx\firsttoken\isentry - \else - \penalty 9000 - \fi - \insertentrybox -} -\def\isentry{\entry}% - % Like plain.tex's \dotfill, except uses up at least 1 em. % The filll stretch here overpowers both the fil and fill stretch to push % the page number to the right. @@ -5766,24 +5769,15 @@ end \def\primary #1{\line{#1\hfil}} -\newskip\secondaryindent \secondaryindent=0.5cm -\def\secondary#1#2{{% - \parfillskip=0in - \parskip=0in - \hangindent=1in - \hangafter=1 - \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill - \ifpdf - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. - \else - \ifx\XeTeXrevision\thisisundefined - #2 - \else - \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph. - \fi - \fi - \par -}} +\def\secondary{\indententry{0.5cm}} +\def\tertiary{\indententry{1cm}} + +\def\indententry#1#2#3{% + \bgroup + \leftskip=#1 + \entry{#2}{#3}% + \egroup +} % Define two-column mode, which we use to typeset indexes. % Adapted from the TeXbook, page 416, which is to say, @@ -5793,60 +5787,21 @@ end \newbox\partialpage \newdimen\doublecolumnhsize -% Use inside an output routine to save \topmark and \firstmark -\def\savemarks{% - \global\savedtopmark=\expandafter{\topmark }% - \global\savedfirstmark=\expandafter{\firstmark }% -} -\newtoks\savedtopmark -\newtoks\savedfirstmark - -% Set \topmark and \firstmark for next time \output runs. -% Can't be run from withinside \output (because any material -% added while an output routine is active, including -% penalties, is saved for after it finishes). The page so far -% should be empty, otherwise what's on it will be thrown away. -\def\restoremarks{% - \mark{\the\savedtopmark}% - \bgroup\output = {% - \setbox\dummybox=\box\PAGE - }abc\eject\egroup - % "abc" because output routine doesn't fire for a completely empty page. - \mark{\the\savedfirstmark}% -} - \def\begindoublecolumns{\begingroup % ended by \enddoublecolumns % If not much space left on page, start a new page. \ifdim\pagetotal>0.8\vsize\vfill\eject\fi % % Grab any single-column material above us. \output = {% - % - % Here is a possibility not foreseen in manmac: if we accumulate a - % whole lot of material, we might end up calling this \output - % routine twice in a row (see the doublecol-lose test, which is - % essentially a couple of indexes with @setchapternewpage off). In - % that case we just ship out what is in \partialpage with the normal - % output routine. Generally, \partialpage will be empty when this - % runs and this will be a no-op. See the indexspread.tex test case. - \ifvoid\partialpage \else - \onepageout{\pagecontents\partialpage}% - \fi + \savetopmark % \global\setbox\partialpage = \vbox{% % Unvbox the main output page. \unvbox\PAGE \kern-\topskip \kern\baselineskip }% - \savemarks }% \eject % run that output routine to set \partialpage - \restoremarks - % - % We recover the two marks that the last output routine saved in order - % to propagate the information in marks added around a chapter heading, - % which could be otherwise be lost by the time the final page is output. - % % % Use the double-column output routine for subsequent pages. \output = {\doublecolumnout}% @@ -5872,7 +5827,9 @@ end \divide\doublecolumnhsize by 2 \hsize = \doublecolumnhsize % - % Double the \vsize as well. + % Get the available space for the double columns -- the normal + % (undoubled) page height minus any material left over from the + % previous page. \advance\vsize by -\ht\partialpage \vsize = 2\vsize % @@ -5885,17 +5842,15 @@ end % \def\doublecolumnout{% % + \savetopmark \splittopskip=\topskip \splitmaxdepth=\maxdepth - % Get the available space for the double columns -- the normal - % (undoubled) page height minus any material left over from the - % previous page. \dimen@ = \vsize \divide\dimen@ by 2 % % box0 will be the left-hand column, box2 the right. \setbox0=\vsplit\PAGE to\dimen@ \setbox2=\vsplit\PAGE to\dimen@ \global\advance\vsize by 2\ht\partialpage - \onepageout\pagesofar + \onepageout\pagesofar % empty except for the first time we are called \unvbox\PAGE \penalty\outputpenalty } @@ -5911,7 +5866,7 @@ end } -% Finished with with double columns. +% Finished with double columns. \def\enddoublecolumns{% % The following penalty ensures that the page builder is exercised % _before_ we change the output routine. This is necessary in the @@ -5943,7 +5898,7 @@ end % \output = {% % Split the last of the double-column material. - \savemarks + \savetopmark \balancecolumns }% \eject % call the \output just set @@ -5951,10 +5906,9 @@ end % Having called \balancecolumns once, we do not % want to call it again. Therefore, reset \output to its normal % definition right away. - \global\output = {\onepageout{\pagecontents\PAGE}}% + \global\output=\expandafter{\the\defaultoutput} % \endgroup % started in \begindoublecolumns - \restoremarks % Leave the double-column material on the current page, no automatic % page break. \box\balancedcolumns @@ -5973,18 +5927,19 @@ end \newbox\balancedcolumns \setbox\balancedcolumns=\vbox{shouldnt see this}% % -% Only called for the last of the double column material. \doublecolumnout +% Only called for the last of the double column material. \doublecolumnout % does the others. \def\balancecolumns{% \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120. \dimen@ = \ht0 - \advance\dimen@ by \topskip - \advance\dimen@ by-\baselineskip - \ifdim\dimen@<5\baselineskip + \ifdim\dimen@<7\baselineskip % Don't split a short final column in two. \setbox2=\vbox{}% \global\setbox\balancedcolumns=\vbox{\pagesofar}% \else + % double the leading vertical space + \advance\dimen@ by \topskip + \advance\dimen@ by-\baselineskip \divide\dimen@ by 2 % target to split to \dimen@ii = \dimen@ \splittopskip = \topskip @@ -6000,7 +5955,7 @@ end }% % Now the left column is in box 1, and the right column in box 3. % - % Check whether the left column has come out higher than the page itself. + % Check whether the left column has come out higher than the page itself. % (Note that we have doubled \vsize for the double columns, so % the actual height of the page is 0.5\vsize). \ifdim2\ht1>\vsize @@ -6119,11 +6074,9 @@ end % @raisesections: treat @section as chapter, @subsection as section, etc. \def\raisesections{\global\advance\secbase by -1} -\let\up=\raisesections % original BFox name % @lowersections: treat @chapter as section, @section as subsection, etc. \def\lowersections{\global\advance\secbase by 1} -\let\down=\lowersections % original BFox name % we only have subsub. \chardef\maxseclevel = 3 @@ -6299,7 +6252,7 @@ end \let\top\unnumbered % Sections. -% +% \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz \def\seczzz#1{% \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1 @@ -6322,7 +6275,7 @@ end } % Subsections. -% +% % normally calls numberedsubseczzz: \outer\parseargdef\numberedsubsec{\numhead2{#1}} \def\numberedsubseczzz#1{% @@ -6347,7 +6300,7 @@ end } % Subsubsections. -% +% % normally numberedsubsubseczzz: \outer\parseargdef\numberedsubsubsec{\numhead3{#1}} \def\numberedsubsubseczzz#1{% @@ -6468,27 +6421,22 @@ end \expandafter\ifx\thisenv\titlepage\else \checkenv{}% chapters, etc., should not start inside an environment. \fi - % FIXME: \chapmacro is currently called from inside \titlepage when - % \setcontentsaftertitlepage to print the "Table of Contents" heading, but - % this should probably be done by \sectionheading with an option to print - % in chapter size. - % % Insert the first mark before the heading break (see notes for \domark). - \let\prevchapterdefs=\lastchapterdefs - \let\prevsectiondefs=\lastsectiondefs - \gdef\lastsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% + \let\prevchapterdefs=\currentchapterdefs + \let\prevsectiondefs=\currentsectiondefs + \gdef\currentsectiondefs{\gdef\thissectionname{}\gdef\thissectionnum{}% \gdef\thissection{}}% % \def\temptype{#2}% \ifx\temptype\Ynothingkeyword - \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% + \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{\thischaptername}}% \else\ifx\temptype\Yomitfromtockeyword - \gdef\lastchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% + \gdef\currentchapterdefs{\gdef\thischaptername{#1}\gdef\thischapternum{}% \gdef\thischapter{}}% \else\ifx\temptype\Yappendixkeyword \toks0={#1}% - \xdef\lastchapterdefs{% + \xdef\currentchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\appendixletter}% % \noexpand\putwordAppendix avoids expanding indigestible @@ -6499,7 +6447,7 @@ end }% \else \toks0={#1}% - \xdef\lastchapterdefs{% + \xdef\currentchapterdefs{% \gdef\noexpand\thischaptername{\the\toks0}% \gdef\noexpand\thischapternum{\the\chapno}% % \noexpand\putwordChapter avoids expanding indigestible @@ -6519,18 +6467,18 @@ end % % Now the second mark, after the heading break. No break points % between here and the heading. - \let\prevchapterdefs=\lastchapterdefs - \let\prevsectiondefs=\lastsectiondefs + \let\prevchapterdefs=\currentchapterdefs + \let\prevsectiondefs=\currentsectiondefs \domark % {% \chapfonts \rm \let\footnote=\errfootnoteheading % give better error message % - % Have to define \lastsection before calling \donoderef, because the + % Have to define \currentsection before calling \donoderef, because the % xref code eventually uses it. On the other hand, it has to be called % after \pchapsepmacro, or the headline will change too soon. - \gdef\lastsection{#1}% + \gdef\currentsection{#1}% % % Only insert the separating space if we have a chapter/appendix % number, and don't print the unnumbered ``number''. @@ -6619,10 +6567,10 @@ end \csname #2fonts\endcsname \rm % % Insert first mark before the heading break (see notes for \domark). - \let\prevsectiondefs=\lastsectiondefs + \let\prevsectiondefs=\currentsectiondefs \ifx\temptype\Ynothingkeyword \ifx\sectionlevel\seckeyword - \gdef\lastsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% + \gdef\currentsectiondefs{\gdef\thissectionname{#1}\gdef\thissectionnum{}% \gdef\thissection{\thissectionname}}% \fi \else\ifx\temptype\Yomitfromtockeyword @@ -6630,7 +6578,7 @@ end \else\ifx\temptype\Yappendixkeyword \ifx\sectionlevel\seckeyword \toks0={#1}% - \xdef\lastsectiondefs{% + \xdef\currentsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible @@ -6643,7 +6591,7 @@ end \else \ifx\sectionlevel\seckeyword \toks0={#1}% - \xdef\lastsectiondefs{% + \xdef\currentsectiondefs{% \gdef\noexpand\thissectionname{\the\toks0}% \gdef\noexpand\thissectionnum{#4}% % \noexpand\putwordSection avoids expanding indigestible @@ -6669,28 +6617,28 @@ end % % Now the second mark, after the heading break. No break points % between here and the heading. - \global\let\prevsectiondefs=\lastsectiondefs + \global\let\prevsectiondefs=\currentsectiondefs \domark % % Only insert the space after the number if we have a section number. \ifx\temptype\Ynothingkeyword \setbox0 = \hbox{}% \def\toctype{unn}% - \gdef\lastsection{#1}% + \gdef\currentsection{#1}% \else\ifx\temptype\Yomitfromtockeyword % for @headings -- no section number, don't include in toc, - % and don't redefine \lastsection. + % and don't redefine \currentsection. \setbox0 = \hbox{}% \def\toctype{omit}% \let\sectionlevel=\empty \else\ifx\temptype\Yappendixkeyword \setbox0 = \hbox{#4\enspace}% \def\toctype{app}% - \gdef\lastsection{#1}% + \gdef\currentsection{#1}% \else \setbox0 = \hbox{#4\enspace}% \def\toctype{num}% - \gdef\lastsection{#1}% + \gdef\currentsection{#1}% \fi\fi\fi % % Write the toc entry (before \donoderef). See comments in \chapmacro. @@ -6780,13 +6728,8 @@ end % 1 and 2 (the page numbers aren't printed), and so are the first % two pages of the document. Thus, we'd have two destinations named % `1', and two named `2'. - \ifpdf + \ifpdforxetex \global\pdfmakepagedesttrue - \else - \ifx\XeTeXrevision\thisisundefined - \else - \global\pdfmakepagedesttrue - \fi \fi } @@ -7149,11 +7092,7 @@ end % @cartouche ... @end cartouche: draw rectangle w/rounded corners around % environment contents. -\font\circle=lcircle10 -\newdimen\circthick -\newdimen\cartouter\newdimen\cartinner -\newskip\normbskip\newskip\normpskip\newskip\normlskip -\circthick=\fontdimen8\circle + % \def\ctl{{\circle\char'013\hskip -6pt}}% 6pt from pl file: 1/2charwidth \def\ctr{{\hskip 6pt\circle\char'010}} @@ -7168,7 +7107,18 @@ end % \newskip\lskip\newskip\rskip +% only require the font if @cartouche is actually used +\def\cartouchefontdefs{% + \font\circle=lcircle10\relax + \circthick=\fontdimen8\circle +} +\newdimen\circthick +\newdimen\cartouter\newdimen\cartinner +\newskip\normbskip\newskip\normpskip\newskip\normlskip + + \envdef\cartouche{% + \cartouchefontdefs \ifhmode\par\fi % can't be in the midst of a paragraph. \startsavinginserts \lskip=\leftskip \rskip=\rightskip @@ -7347,13 +7297,9 @@ end % @raggedright does more-or-less normal line breaking but no right -% justification. From plain.tex. Don't stretch around special -% characters in urls in this environment, since the stretch at the right -% should be enough. +% justification. From plain.tex. \envdef\raggedright{% \rightskip0pt plus2.4em \spaceskip.3333em \xspaceskip.5em\relax - \def\urefprestretchamount{0pt}% - \def\urefpoststretchamount{0pt}% } \let\Eraggedright\par @@ -7412,7 +7358,7 @@ end % @indentedblock is like @quotation, but indents only on the left and % has no optional argument. -% +% \makedispenvdef{indentedblock}{\indentedblockstart} % \def\indentedblockstart{% @@ -7515,7 +7461,7 @@ end \nonfillstart \tt % easiest (and conventionally used) font for verbatim % The \leavevmode here is for blank lines. Otherwise, we would - % never \starttabox and the \egroup would end verbatim mode. + % never \starttabbox and the \egroup would end verbatim mode. \def\par{\leavevmode\egroup\box\verbbox\endgraf}% \tabexpand \setupmarkupstyle{verbatim}% @@ -7578,9 +7524,12 @@ end {% \makevalueexpandable \setupverbatim - \indexnofonts % Allow `@@' and other weird things in file names. - \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% - \input #1 + {% + \indexnofonts % Allow `@@' and other weird things in file names. + \wlog{texinfo.tex: doing @verbatiminclude of #1^^J}% + \edef\tmp{\noexpand\input #1 } + \expandafter + }\tmp \afterenvbreak }% } @@ -7709,7 +7658,7 @@ end % @deftypefnnewline on|off says whether the return type of typed functions % are printed on their own line. This affects @deftypefn, @deftypefun, % @deftypeop, and @deftypemethod. -% +% \parseargdef\deftypefnnewline{% \def\temp{#1}% \ifx\temp\onword @@ -7725,6 +7674,21 @@ end \fi\fi } +% \dosubind {index}{topic}{subtopic} +% +% If SUBTOPIC is present, precede it with a space, and call \doind. +% (At some time during the 20th century, this made a two-level entry in an +% index such as the operation index. Nobody seemed to notice the change in +% behaviour though.) +\def\dosubind#1#2#3{% + \def\thirdarg{#3}% + \ifx\thirdarg\empty + \doind{#1}{#2}% + \else + \doind{#1}{#2\space#3}% + \fi +} + % Untyped functions: % @deffn category name args @@ -7739,7 +7703,6 @@ end % \deffngeneral {subind}category name args % \def\deffngeneral#1#2 #3 #4\endheader{% - % Remember that \dosubind{fn}{foo}{} is equivalent to \doind{fn}{foo}. \dosubind{fn}{\code{#3}}{#1}% \defname{#2}{}{#3}\magicamp\defunargs{#4\unskip}% } @@ -7890,7 +7853,7 @@ end \tclose{\temp}% typeset the return type \ifrettypeownline % put return type on its own line; prohibit line break following: - \hfil\vadjust{\nobreak}\break + \hfil\vadjust{\nobreak}\break \else \space % type on same line, so just followed by a space \fi @@ -8027,36 +7990,18 @@ end } \fi -% alias because \c means cedilla in @tex or @math -\let\texinfoc=\c - -\newcount\savedcatcodeone -\newcount\savedcatcodetwo - % Used at the time of macro expansion. % Argument is macro body with arguments substituted \def\scanmacro#1{% \newlinechar`\^^M \def\xeatspaces{\eatspaces}% % - % Temporarily undo catcode changes of \printindex. Set catcode of @ to - % 0 so that @-commands in macro expansions aren't printed literally when - % formatting an index file, where \ is used as the escape character. - \savedcatcodeone=\catcode`\@ - \savedcatcodetwo=\catcode`\\ - \catcode`\@=0 - \catcode`\\=\active - % % Process the macro body under the current catcode regime. - \scantokens{#1@texinfoc}% - % - \catcode`\@=\savedcatcodeone - \catcode`\\=\savedcatcodetwo + \scantokens{#1@comment}% % - % The \texinfoc is to remove the \newlinechar added by \scantokens, and - % can be noticed by \parsearg. - % We avoid surrounding the call to \scantokens with \bgroup and \egroup - % to allow macros to open or close groups themselves. + % The \comment is to remove the \newlinechar added by \scantokens, and + % can be noticed by \parsearg. Note \c isn't used because this means cedilla + % in math mode. } % Used for copying and captions @@ -8157,12 +8102,14 @@ end \def\macroargctxt{% \scanctxt \catcode`\ =\active + \catcode`\@=\other \catcode`\^^M=\other \catcode`\\=\active } \def\macrolineargctxt{% used for whole-line arguments without braces \scanctxt + \catcode`\@=\other \catcode`\{=\other \catcode`\}=\other } @@ -8254,7 +8201,7 @@ end % list to some hook where the argument is to be expanded. If there are % less than 10 arguments that hook is to be replaced by ##N where N % is the position in that list, that is to say the macro arguments are to be -% defined `a la TeX in the macro body. +% defined `a la TeX in the macro body. % % That gets used by \mbodybackslash (above). % @@ -8285,8 +8232,8 @@ end % % Read recursive and nonrecursive macro bodies. (They're different since % rec and nonrec macros end differently.) -% -% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro +% +% We are in \macrobodyctxt, and the \xdef causes backslashshes in the macro % body to be transformed. % Set \macrobody to the body of the macro, and call \defmacro. % @@ -8320,7 +8267,7 @@ end % twice the \macarg.BLAH macros does not cost too much processing power. \def\parsemmanyargdef@@#1,{% \if#1;\let\next=\relax - \else + \else \let\next=\parsemmanyargdef@@ \edef\tempb{\eatspaces{#1}}% \expandafter\def\expandafter\tempa @@ -8405,7 +8352,7 @@ end % Replace arguments by their values in the macro body, and place the result % in macro \@tempa. -% +% \def\macvalstoargs@{% % To do this we use the property that token registers that are \the'ed % within an \edef expand only once. So we are going to place all argument @@ -8429,9 +8376,9 @@ end \expandafter\def\expandafter\@tempa\expandafter{\@tempc}% } -% Define the named-macro outside of this group and then close this group. -% -\def\macargexpandinbody@{% +% Define the named-macro outside of this group and then close this group. +% +\def\macargexpandinbody@{% \expandafter \endgroup \macargdeflist@ @@ -8469,7 +8416,7 @@ end } % Trailing missing arguments are set to empty. -% +% \def\setemptyargvalues@{% \ifx\paramlist\nilm@ \let\next\macargexpandinbody@ @@ -8546,7 +8493,7 @@ end \else % at most 9 \ifnum\paramno<10\relax % @MACNAME sets the context for reading the macro argument - % @MACNAME@@ gets the argument, processes backslashes and appends a + % @MACNAME@@ gets the argument, processes backslashes and appends a % comma. % @MACNAME@@@ removes braces surrounding the argument list. % @MACNAME@@@@ scans the macro body with arguments substituted. @@ -8590,11 +8537,11 @@ end % Call #1 with a list of tokens #2, with any doubled backslashes in #2 % compressed to one. % -% This implementation works by expansion, and not execution (so we cannot use -% \def or similar). This reduces the risk of this failing in contexts where -% complete expansion is done with no execution (for example, in writing out to +% This implementation works by expansion, and not execution (so we cannot use +% \def or similar). This reduces the risk of this failing in contexts where +% complete expansion is done with no execution (for example, in writing out to % an auxiliary file for an index entry). -% +% % State is kept in the input stream: the argument passed to % @look_ahead, @gobble_and_check_finish and @add_segment is % @@ -8616,11 +8563,11 @@ end % #3 - NEXT_TOKEN % #4 used to look ahead % -% If the next token is not a backslash, process the rest of the argument; +% If the next token is not a backslash, process the rest of the argument; % otherwise, remove the next token. @gdef@look_ahead#1!#2#3#4{% @ifx#4\% - @expandafter@gobble_and_check_finish + @expandafter@gobble_and_check_finish @else @expandafter@add_segment @fi#1!{#2}#4#4% @@ -8644,9 +8591,9 @@ end % #3 - NEXT_TOKEN % #4 is input stream until next backslash % -% Input stream is either at the start of the argument, or just after a -% backslash sequence, either a lone backslash, or a doubled backslash. -% NEXT_TOKEN contains the first token in the input stream: if it is \finish, +% Input stream is either at the start of the argument, or just after a +% backslash sequence, either a lone backslash, or a doubled backslash. +% NEXT_TOKEN contains the first token in the input stream: if it is \finish, % finish; otherwise, append to ARG_RESULT the segment of the argument up until % the next backslash. PENDING_BACKSLASH contains a backslash to represent % a backslash just before the start of the input stream that has not been @@ -8658,13 +8605,13 @@ end % append the pending backslash to the result, followed by the next segment @expandafter@is_fi@look_ahead#1#2#4!{\}@fi % this @fi is discarded by @look_ahead. - % we can't get rid of it with \expandafter because we don't know how + % we can't get rid of it with \expandafter because we don't know how % long #4 is. } % #1 - THE_MACRO % #2 - ARG_RESULT -% #3 discards the res of the conditional in @add_segment, and @is_fi ends the +% #3 discards the res of the conditional in @add_segment, and @is_fi ends the % conditional. @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}} @@ -8676,7 +8623,7 @@ end % for reading the argument (slightly different in the two cases). Then, % to read the argument, in the whole-line case, it then calls the regular % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC. -% +% \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx} \def\braceorlinexxx{% \ifx\nchar\bgroup @@ -8726,9 +8673,29 @@ end % also remove a trailing comma, in case of something like this: % @node Help-Cross, , , Cross-refs \def\donode#1 ,#2\finishnodeparse{\dodonode #1,\finishnodeparse} -\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}} +\def\dodonode#1,#2\finishnodeparse{\gdef\lastnode{#1}\omittopnode} + +% Used so that the @top node doesn't have to be wrapped in an @ifnottex +% conditional. +% \doignore goes to more effort to skip nested conditionals but we don't need +% that here. +\def\omittopnode{% + \ifx\lastnode\wordTop + \expandafter\ignorenode\fi +} +\def\wordTop{Top} + +% Until the next @node or @bye command, divert output to a box that is not +% output. +\def\ignorenode{\setbox\dummybox\vbox\bgroup\def\node{\egroup\node}% +\ignorenodebye +} + +{\let\bye\relax +\gdef\ignorenodebye{\let\bye\ignorenodebyedef} +\gdef\ignorenodebyedef{\egroup(`Top' node ignored)\bye}} +% The redefinition of \bye here is because it is declared \outer -\let\nwnode=\node \let\lastnode=\empty % Write a cross-reference definition for the current node. #1 is the @@ -8751,7 +8718,7 @@ end % \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an % anchor), which consists of three parts: -% 1) NAME-title - the current sectioning name taken from \lastsection, +% 1) NAME-title - the current sectioning name taken from \currentsection, % or the anchor name. % 2) NAME-snt - section number and type, passed as the SNT arg, or % empty for anchors. @@ -8773,7 +8740,7 @@ end \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef ##1}{##2}}% these are parameters of \writexrdef }% - \toks0 = \expandafter{\lastsection}% + \toks0 = \expandafter{\currentsection}% \immediate \writexrdef{title}{\the\toks0 }% \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout @@ -8785,7 +8752,7 @@ end % automatically in xrefs, if the third arg is not explicitly specified. % This was provided as a "secret" @set xref-automatic-section-title % variable, now it's official. -% +% \parseargdef\xrefautomaticsectiontitle{% \def\temp{#1}% \ifx\temp\onword @@ -8801,7 +8768,7 @@ end \fi\fi } -% +% % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is % the node name, #2 the name of the Info cross-reference, #3 the printed % node name, #4 the name of the Info file, #5 the name of the printed @@ -8954,24 +8921,24 @@ end \fi \else % node/anchor (non-float) references. - % + % % If we use \unhbox to print the node names, TeX does not insert % empty discretionaries after hyphens, which means that it will not % find a line break at a hyphen in a node names. Since some manuals % are best written with fairly long node names, containing hyphens, % this is a loss. Therefore, we give the text of the node name % again, so it is as if TeX is seeing it for the first time. - % + % \ifdim \wd\printedmanualbox > 0pt % Cross-manual reference with a printed manual name. - % + % \crossmanualxref{\cite{\printedmanual\unskip}}% % \else\ifdim \wd\infofilenamebox > 0pt % Cross-manual reference with only an info filename (arg 4), no % printed manual name (arg 5). This is essentially the same as % the case above; we output the filename, since we have nothing else. - % + % \crossmanualxref{\code{\infofilename\unskip}}% % \else @@ -9011,20 +8978,20 @@ end \endgroup} % Output a cross-manual xref to #1. Used just above (twice). -% +% % Only include the text "Section ``foo'' in" if the foo is neither % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply % "see The Foo Manual", the idea being to refer to the whole manual. -% +% % But, this being TeX, we can't easily compare our node name against the % string "Top" while ignoring the possible spaces before and after in % the input. By adding the arbitrary 7sp below, we make it much less % likely that a real node name would have the same width as "Top" (e.g., % in a monospaced font). Hopefully it will never happen in practice. -% +% % For the same basic reason, we retypeset the "Top" at every % reference, since the current font is indeterminate. -% +% \def\crossmanualxref#1{% \setbox\toprefbox = \hbox{Top\kern7sp}% \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}% @@ -9071,7 +9038,7 @@ end \fi\fi\fi } -% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX +% \refx{NAME}{SUFFIX} - reference a cross-reference string named NAME. SUFFIX % is output afterwards if non-empty. \def\refx#1#2{% \requireauxfile @@ -9103,9 +9070,9 @@ end #2% Output the suffix in any case. } -% This is the macro invoked by entries in the aux file. Define a control -% sequence for a cross-reference target (we prepend XR to the control sequence -% name to avoid collisions). The value is the page number. If this is a float +% This is the macro invoked by entries in the aux file. Define a control +% sequence for a cross-reference target (we prepend XR to the control sequence +% name to avoid collisions). The value is the page number. If this is a float % type, we have more work to do. % \def\xrdef#1#2{% @@ -9121,10 +9088,10 @@ end \bgroup \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% \egroup - % We put the \gdef inside a group to avoid the definitions building up on - % TeX's save stack, which can cause it to run out of space for aux files with + % We put the \gdef inside a group to avoid the definitions building up on + % TeX's save stack, which can cause it to run out of space for aux files with % thousands of lines. \gdef doesn't use the save stack, but \csname does - % when it defines an unknown control sequence as \relax. + % when it defines an unknown control sequence as \relax. % % Was that xref control sequence that we just defined for a float? \expandafter\iffloat\csname XR\safexrefname\endcsname @@ -9203,19 +9170,6 @@ end \catcode`\^^]=\other \catcode`\^^^=\other \catcode`\^^_=\other - % It was suggested to set the catcode of ^ to 7, which would allow ^^e4 etc. - % in xref tags, i.e., node names. But since ^^e4 notation isn't - % supported in the main text, it doesn't seem desirable. Furthermore, - % that is not enough: for node names that actually contain a ^ - % character, we would end up writing a line like this: 'xrdef {'hat - % b-title}{'hat b} and \xrdef does a \csname...\endcsname on the first - % argument, and \hat is not an expandable control sequence. It could - % all be worked out, but why? Either we support ^^ or we don't. - % - % The other change necessary for this was to define \auxhat: - % \def\auxhat{\def^{'hat }}% extra space so ok if followed by letter - % and then to call \auxhat in \setq. - % \catcode`\^=\other % % Special characters. Should be turned off anyway, but... @@ -9233,14 +9187,7 @@ end \catcode`\%=\other \catcode`+=\other % avoid \+ for paranoia even though we've turned it off % - % This is to support \ in node names and titles, since the \ - % characters end up in a \csname. It's easier than - % leaving it active and making its active definition an actual \ - % character. What I don't understand is why it works in the *value* - % of the xrdef. Seems like it should be a catcode12 \, and that - % should not typeset properly. But it works, so I'm moving on for - % now. --karl, 15jan04. - \catcode`\\=\other + \catcode`\\=\active % % @ is our escape character in .aux files, and we need braces. \catcode`\{=1 @@ -9503,7 +9450,7 @@ end % \ifimagevmode \medskip % space after a standalone image - \fi + \fi \ifx\centersub\centerV \egroup \fi \endgroup} @@ -9571,13 +9518,13 @@ end \global\advance\floatno by 1 % {% - % This magic value for \lastsection is output by \setref as the + % This magic value for \currentsection is output by \setref as the % XREFLABEL-title value. \xrefX uses it to distinguish float % labels (which have a completely different output format) from % node and anchor labels. And \xrdef uses it to construct the % lists of floats. % - \edef\lastsection{\floatmagic=\safefloattype}% + \edef\currentsection{\floatmagic=\safefloattype}% \setref{\floatlabel}{Yfloat}% }% \fi @@ -9700,7 +9647,7 @@ end % #1 is the control sequence we are passed; we expand into a conditional % which is true if #1 represents a float ref. That is, the magic -% \lastsection value which we \setref above. +% \currentsection value which we \setref above. % \def\iffloat#1{\expandafter\doiffloat#1==\finish} % @@ -10334,7 +10281,7 @@ directory should work if nowhere else does.} \uppercase{.} \endgroup \else - \errhelp = \EMsimple + \errhelp = \EMsimple \errmessage{Unicode character U+#1 not supported, sorry}% \fi \else @@ -10367,7 +10314,7 @@ directory should work if nowhere else does.} \countUTFz = "#1\relax \begingroup \parseXMLCharref - + % Give \u8:... its definition. The sequence of seven \expandafter's % expands after the \gdef three times, e.g. % @@ -10379,7 +10326,7 @@ directory should work if nowhere else does.} \expandafter\expandafter \expandafter\expandafter \expandafter\gdef \UTFviiiTmp{#2}% - % + % \expandafter\ifx\csname uni:#1\endcsname \relax \else \message{Internal error, already defined: #1}% \fi @@ -10418,7 +10365,7 @@ directory should work if nowhere else does.} \divide\countUTFz by 64 \countUTFy = \countUTFz % Save to be the future value of \countUTFz. \multiply\countUTFz by 64 - + % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract % in order to get the last five bits. \advance\countUTFx by -\countUTFz @@ -10453,7 +10400,7 @@ directory should work if nowhere else does.} % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block) % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B -% +% % Many of our renditions are less than wonderful, and all the missing % characters are available somewhere. Loading the necessary fonts % awaits user request. We can't truly support Unicode without @@ -11188,21 +11135,14 @@ directory should work if nowhere else does.} \relax } -% define all Unicode characters we know about, for the sake of @U. +% Define all Unicode characters we know about. This makes UTF-8 the default +% input encoding and allows @U to work. \iftxinativeunicodecapable \nativeunicodechardefsatu \else \utfeightchardefs \fi - -% Make non-ASCII characters printable again for compatibility with -% existing Texinfo documents that may use them, even without declaring a -% document encoding. -% -\setnonasciicharscatcode \other - - \message{formatting,} \newdimen\defaultparindent \defaultparindent = 15pt @@ -11498,9 +11438,9 @@ directory should work if nowhere else does.} \def\texinfochars{% \let< = \activeless \let> = \activegtr - \let~ = \activetilde + \let~ = \activetilde \let^ = \activehat - \markupsetuplqdefault \markupsetuprqdefault + \markupsetuplqdefault \markupsetuprqdefault \let\b = \strong \let\i = \smartitalic % in principle, all other definitions in \tex have to be undone too. @@ -11518,11 +11458,9 @@ directory should work if nowhere else does.} % \backslashcurfont outputs one backslash character in current font, % as in \char`\\. \global\chardef\backslashcurfont=`\\ -\global\let\rawbackslashxx=\backslashcurfont % let existing .??s files work -% \realbackslash is an actual character `\' with catcode other, and -% \doublebackslash is two of them (for the pdf outlines). -{\catcode`\\=\other @gdef@realbackslash{\} @gdef@doublebackslash{\\}} +% \realbackslash is an actual character `\' with catcode other. +{\catcode`\\=\other @gdef@realbackslash{\}} % In Texinfo, backslash is an active character; it prints the backslash % in fixed width font. @@ -11540,10 +11478,8 @@ directory should work if nowhere else does.} @def@ttbackslash{{@tt @ifmmode @mathchar29020 @else @backslashcurfont @fi}} @let@backslashchar = @ttbackslash % @backslashchar{} is for user documents. -% \rawbackslash defines an active \ to do \backslashcurfont. % \otherbackslash defines an active \ to be a literal `\' character with -% catcode other. We switch back and forth between these. -@gdef@rawbackslash{@let\=@backslashcurfont} +% catcode other. @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of @@ -11615,7 +11551,7 @@ directory should work if nowhere else does.} @ifx\@eatinput @let\ = @ttbackslash @fi @catcode13=5 % regular end of line @enableemergencynewline - @let@c=@texinfoc + @let@c=@comment @let@parsearg@originalparsearg % Also turn back on active characters that might appear in the input % file name, in case not using a pre-dumped format. diff --git a/config.h.in b/config.h.in index 33caa9d3..7cfe726d 100644 --- a/config.h.in +++ b/config.h.in @@ -86,12 +86,10 @@ #undef FCNTL_DUPFD_BUGGY /* Define to nothing if C supports flexible array members, and to 1 if it does - not. That way, with a declaration like 'struct s { int n; double + not. That way, with a declaration like 'struct s { int n; short d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99 - compilers. When computing the size of such an object, don't use 'sizeof - (struct s)' as it overestimates the size. Use 'offsetof (struct s, d)' - instead. Don't use 'offsetof (struct s, d[0])', as this doesn't work with - MSVC and with C++ compilers. */ + compilers. Use 'FLEXSIZEOF (struct s, d, N * sizeof (short))' to calculate + the size in bytes of such a struct containing an N-element array. */ #undef FLEXIBLE_ARRAY_MEMBER /* Define to 1 if mkdir mistakenly creates a directory given with a trailing @@ -166,6 +164,9 @@ whether the gnulib module nonblocking shall be considered present. */ #undef GNULIB_NONBLOCKING +/* Define to 1 to disable use of VLAs. */ +#undef GNULIB_NO_VLA + /* Define to a C preprocessor expression that evaluates to 1 or 0, depending whether the gnulib module openat shall be considered present. */ #undef GNULIB_OPENAT @@ -895,6 +896,9 @@ /* Define to 1 if <wchar.h> declares mbstate_t. */ #undef HAVE_MBSTATE_T +/* Define to 1 if you have the `mbtowc' function. */ +#undef HAVE_MBTOWC + /* Define to 1 if you have the `memmem' function. */ #undef HAVE_MEMMEM @@ -1200,6 +1204,9 @@ /* Define if you have tbl. */ #undef HAVE_TBL +/* Define to 1 if you have the <threads.h> header file. */ +#undef HAVE_THREADS_H + /* Define to 1 if you have the `towlower' function. */ #undef HAVE_TOWLOWER @@ -1511,20 +1518,6 @@ weak. */ #undef USE_POSIX_THREADS_WEAK -/* Define if the GNU Pth multithreading library can be used. */ -#undef USE_PTH_THREADS - -/* Define if references to the GNU Pth multithreading library should be made - weak. */ -#undef USE_PTH_THREADS_WEAK - -/* Define if the old Solaris multithreading library can be used. */ -#undef USE_SOLARIS_THREADS - -/* Define if references to the old Solaris multithreading library should be - made weak. */ -#undef USE_SOLARIS_THREADS_WEAK - /* Enable extensions on AIX 3, Interix. */ #ifndef _ALL_SOURCE # undef _ALL_SOURCE @@ -1654,10 +1647,13 @@ /* The _Noreturn keyword of C11. */ #ifndef _Noreturn -# if 201103 <= (defined __cplusplus ? __cplusplus : 0) +# if (defined __cplusplus \ + && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ + || (defined _MSC_VER && 1900 <= _MSC_VER))) # define _Noreturn [[noreturn]] -# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)) +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) /* _Noreturn works as-is. */ # elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) @@ -1700,6 +1696,33 @@ /* Define to 1 if the system <stdint.h> predates C++11. */ #undef __STDC_LIMIT_MACROS +/* The _GL_ASYNC_SAFE marker should be attached to functions that are + signal handlers (for signals other than SIGABRT, SIGPIPE) or can be + invoked from such signal handlers. Such functions have some restrictions: + * All functions that it calls should be marked _GL_ASYNC_SAFE as well, + or should be listed as async-signal-safe in POSIX + <http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04> + section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in + particular, are NOT async-signal-safe. + * All memory locations (variables and struct fields) that these functions + access must be marked 'volatile'. This holds for both read and write + accesses. Otherwise the compiler might optimize away stores to and + reads from such locations that occur in the program, depending on its + data flow analysis. For example, when the program contains a loop + that is intended to inspect a variable set from within a signal handler + while (!signal_occurred) + ; + the compiler is allowed to transform this into an endless loop if the + variable 'signal_occurred' is not declared 'volatile'. + Additionally, recall that: + * A signal handler should not modify errno (except if it is a handler + for a fatal signal and ends by raising the same signal again, thus + provoking the termination of the process). If it invokes a function + that may clobber errno, it needs to save and restore the value of + errno. */ +#define _GL_ASYNC_SAFE + + /* Define to empty if `const' does not conform to ANSI C. */ #undef const @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for man-db 2.8.6.1. +# Generated by GNU Autoconf 2.69 for man-db 2.8.7. # # Report bugs to <cjwatson@debian.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='man-db' PACKAGE_TARNAME='man-db' -PACKAGE_VERSION='2.8.6.1' -PACKAGE_STRING='man-db 2.8.6.1' +PACKAGE_VERSION='2.8.7' +PACKAGE_STRING='man-db 2.8.7' PACKAGE_BUGREPORT='cjwatson@debian.org' PACKAGE_URL='' @@ -633,6 +633,7 @@ ac_includes_default="\ #endif" gl_use_threads_default= +gl_use_winpthreads_default= ac_func_list= ac_header_list= gl_fnmatch_required=POSIX @@ -919,9 +920,6 @@ LTLIBMULTITHREAD LIBMULTITHREAD LTLIBTHREAD LIBTHREAD -LIBPTH_PREFIX -LTLIBPTH -LIBPTH NEXT_AS_FIRST_DIRECTIVE_LOCALE_H NEXT_LOCALE_H HAVE_XLOCALE_H @@ -1334,6 +1332,7 @@ HAVE_FACCESSAT HAVE_EUIDACCESS HAVE_DUP3 HAVE_DUP2 +HAVE_COPY_FILE_RANGE HAVE_CHOWN GNULIB_WRITE GNULIB_USLEEP @@ -1382,16 +1381,20 @@ GNULIB_ENVIRON GNULIB_DUP3 GNULIB_DUP2 GNULIB_DUP +GNULIB_COPY_FILE_RANGE GNULIB_CLOSE GNULIB_CHOWN GNULIB_CHDIR REPLACE_WCTOMB REPLACE_UNSETENV +REPLACE_STRTOLD REPLACE_STRTOD +REPLACE_SETSTATE REPLACE_SETENV REPLACE_REALPATH REPLACE_REALLOC REPLACE_RANDOM_R +REPLACE_RANDOM REPLACE_QSORT_R REPLACE_PUTENV REPLACE_PTSNAME_R @@ -1399,6 +1402,7 @@ REPLACE_PTSNAME REPLACE_MKSTEMP REPLACE_MBTOWC REPLACE_MALLOC +REPLACE_INITSTATE REPLACE_CANONICALIZE_FILE_NAME REPLACE_CALLOC HAVE_DECL_UNSETENV @@ -1407,8 +1411,10 @@ HAVE_SYS_LOADAVG_H HAVE_STRUCT_RANDOM_DATA HAVE_STRTOULL HAVE_STRTOLL +HAVE_STRTOLD HAVE_STRTOD HAVE_DECL_SETSTATE +HAVE_SETSTATE HAVE_DECL_SETENV HAVE_SETENV HAVE_SECURE_GETENV @@ -1427,7 +1433,9 @@ HAVE_MKSTEMP HAVE_MKOSTEMPS HAVE_MKOSTEMP HAVE_MKDTEMP +HAVE_MBTOWC HAVE_DECL_INITSTATE +HAVE_INITSTATE HAVE_GRANTPT HAVE_GETSUBOPT HAVE_DECL_GETLOADAVG @@ -1440,6 +1448,7 @@ GNULIB_UNLOCKPT GNULIB_SYSTEM_POSIX GNULIB_STRTOULL GNULIB_STRTOLL +GNULIB_STRTOLD GNULIB_STRTOD GNULIB_SETENV GNULIB_SECURE_GETENV @@ -1563,6 +1572,7 @@ GNULIB_MBRTOWC GNULIB_MBSINIT GNULIB_WCTOB GNULIB_BTOWC +HAVE_ALLOCA_H GL_GENERATE_ALLOCA_H_FALSE GL_GENERATE_ALLOCA_H_TRUE ALLOCA_H @@ -1795,10 +1805,9 @@ with_bzip2 with_xz with_lzma with_lzip -enable_rpath -with_libpth_prefix with_included_regex enable_nls +enable_rpath with_libiconv_prefix with_libintl_prefix with_libseccomp @@ -2370,7 +2379,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures man-db 2.8.6.1 to adapt to many kinds of systems. +\`configure' configures man-db 2.8.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2441,7 +2450,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of man-db 2.8.6.1:";; + short | recursive ) echo "Configuration of man-db 2.8.7:";; esac cat <<\_ACEOF @@ -2474,7 +2483,7 @@ Optional Features: HPUX, IRIX, Solaris, BSD) --disable-manual don't build or install the man-db manual --disable-largefile omit support for large files - --enable-threads={posix|solaris|pth|windows} + --enable-threads={posix|windows} specify multithreading API --disable-threads build without multithread safety --enable-static[=PKGS] build static libraries [default=no] @@ -2484,8 +2493,8 @@ Optional Features: --disable-libtool-lock avoid locking (might break parallel builds) --enable-mb-groff expect groff with Debian multibyte patch or real Unicode support - --disable-rpath do not hardcode runtime library paths --disable-nls do not use Native Language Support + --disable-rpath do not hardcode runtime library paths Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -2537,13 +2546,11 @@ Optional Packages: compression utility --with-lzip=LZIP use LZIP as Lempel-Ziv-Markov chain-Algorithm compression utility - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-libpth-prefix[=DIR] search for libpth in DIR/include and DIR/lib - --without-libpth-prefix don't search for libpth in includedir and libdir --without-included-regex don't compile regex; this is the default on systems with recent-enough versions of the GNU C Library (use with caution on other systems). + --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib @@ -2641,7 +2648,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -man-db configure 2.8.6.1 +man-db configure 2.8.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2894,6 +2901,189 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_header_compile +# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES +# -------------------------------------------- +# Tries to find the compile-time value of EXPR in a program that includes +# INCLUDES, setting VAR accordingly. Returns whether the value could be +# computed +ac_fn_c_compute_int () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if test "$cross_compiling" = yes; then + # Depending upon the size, compute the lo and hi bounds. +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=0 ac_mid=0 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid; break +else + as_fn_arith $ac_mid + 1 && ac_lo=$as_val + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) < 0)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=-1 ac_mid=-1 + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) >= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_lo=$ac_mid; break +else + as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + ac_lo= ac_hi= +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +static int test_array [1 - 2 * !(($2) <= $ac_mid)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_hi=$ac_mid +else + as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in #(( +?*) eval "$3=\$ac_lo"; ac_retval=0 ;; +'') ac_retval=1 ;; +esac + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +static long int longval () { return $2; } +static unsigned long int ulongval () { return $2; } +#include <stdio.h> +#include <stdlib.h> +int +main () +{ + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (($2) < 0) + { + long int i = longval (); + if (i != ($2)) + return 1; + fprintf (f, "%ld", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ($2)) + return 1; + fprintf (f, "%lu", i); + } + /* Do not output a trailing newline, as this causes \r\n confusion + on some platforms. */ + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + echo >>conftest.val; read $3 <conftest.val; ac_retval=0 +else + ac_retval=1 +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +rm -f conftest.val + + fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_compute_int + # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. @@ -3107,189 +3297,6 @@ $as_echo "$ac_res" >&6; } } # ac_fn_c_check_decl -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include <stdio.h> -#include <stdlib.h> -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 <conftest.val; ac_retval=0 -else - ac_retval=1 -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -rm -f conftest.val - - fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_compute_int - # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- # Tries to find if the field MEMBER exists in type AGGR, after including @@ -3350,7 +3357,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by man-db $as_me 2.8.6.1, which was +It was created by man-db $as_me 2.8.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3695,6 +3702,7 @@ as_fn_append ac_header_list " langinfo.h" as_fn_append ac_func_list " lchmod" as_fn_append ac_header_list " limits.h" as_fn_append ac_header_list " xlocale.h" +as_fn_append ac_header_list " threads.h" as_fn_append ac_func_list " lstat" as_fn_append ac_func_list " mbsinit" as_fn_append ac_func_list " mbrtowc" @@ -4317,7 +4325,7 @@ fi # Define the identity of the package. PACKAGE='man-db' - VERSION='2.8.6.1' + VERSION='2.8.7' cat >>confdefs.h <<_ACEOF @@ -6601,8 +6609,8 @@ case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Define below date and version information to be put into man pages etc. -date=2019-08-05 -roff_version=`echo 2.8.6.1 | sed 's/-/\\-/g'` +date=2019-08-26 +roff_version=`echo 2.8.7 | sed 's/-/\\-/g'` # Explicitly check for pkg-config early on, since otherwise the conditional # calls in MAN_ARG_SYSTEMDTMPFILESDIR and MAN_ARG_SYSTEMDSYSTEMUNITDIR are @@ -7746,6 +7754,7 @@ fi + # Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then : enableval=$enable_threads; gl_use_threads=$enableval @@ -7754,13 +7763,20 @@ else gl_use_threads="$gl_use_threads_default" else case "$host_os" in - osf*) gl_use_threads=no ;; - cygwin*) + osf*) gl_use_threads=no ;; + cygwin*) case `uname -r` in 1.[0-5].*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac ;; + mingw*) + case "$gl_use_winpthreads_default" in + yes) gl_use_threads=posix ;; + no) gl_use_threads=windows ;; + *) gl_use_threads=yes ;; + esac + ;; *) gl_use_threads=yes ;; esac fi @@ -7898,6 +7914,7 @@ fi # Code from module malloc-gnu: # Code from module malloc-posix: # Code from module malloca: + # Code from module manywarnings: # Code from module map: # Code from module mbrtowc: # Code from module mbsinit: @@ -8015,6 +8032,10 @@ fi # Code from module wchar: # Code from module wcrtomb: # Code from module wctype-h: + # Code from module windows-mutex: + # Code from module windows-once: + # Code from module windows-recmutex: + # Code from module windows-rwlock: # Code from module xalloc: # Code from module xalloc-die: # Code from module xalloc-oversized: @@ -8169,56 +8190,9 @@ case $host_os in ultrix4.3*) CFLAGS="$CFLAGS -YPOSIX" ;; - *darwin*) - CFLAGS="$CFLAGS -Wl,-flat_namespace,-undefined,suppress" - ;; esac -if test "$GCC" = yes -then - - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5 -$as_echo_n "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; } -if ${gl_cv_warn_c__Werror__Wunknown_warning_option+:} false; then : - $as_echo_n "(cached) " >&6 -else - - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__Werror__Wunknown_warning_option=yes -else - gl_cv_warn_c__Werror__Wunknown_warning_option=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror__Wunknown_warning_option" >&5 -$as_echo "$gl_cv_warn_c__Werror__Wunknown_warning_option" >&6; } -if test "x$gl_cv_warn_c__Werror__Wunknown_warning_option" = xyes; then : - gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror' -else - gl_unknown_warnings_are_errors= -fi +# Enable all reasonable GCC warnings. ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -8228,16 +8202,16 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu + if test -n "$GCC"; then -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -W" >&5 -$as_echo_n "checking whether C compiler handles -W... " >&6; } -if ${gl_cv_warn_c__W+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5 +$as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; } +if ${gl_cv_cc_nomfi_supported+:} false; then : $as_echo_n "(cached) " >&6 else - - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -W" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -8248,35 +8222,34 @@ main () return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__W=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_nomfi_supported=yes else - gl_cv_warn_c__W=no + gl_cv_cc_nomfi_supported=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__W" >&5 -$as_echo "$gl_cv_warn_c__W" >&6; } -if test "x$gl_cv_warn_c__W" = xyes; then : - as_fn_append WARN_CFLAGS " -W" -fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 +$as_echo "$gl_cv_cc_nomfi_supported" >&6; } - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wpointer-arith" >&5 -$as_echo_n "checking whether C compiler handles -Wpointer-arith... " >&6; } -if ${gl_cv_warn_c__Wpointer_arith+:} false; then : + if test "$gl_cv_cc_nomfi_supported" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5 +$as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; } +if ${gl_cv_cc_nomfi_needed+:} false; then : $as_echo_n "(cached) " >&6 else - - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wpointer-arith" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ +int f (void) + { + typedef struct { int a; int b; } s_t; + s_t s1 = { 0, }; + return s1.b; + } int main () @@ -8286,34 +8259,27 @@ main () return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__Wpointer_arith=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_nomfi_needed=no else - gl_cv_warn_c__Wpointer_arith=no + gl_cv_cc_nomfi_needed=yes fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wpointer_arith" >&5 -$as_echo "$gl_cv_warn_c__Wpointer_arith" >&6; } -if test "x$gl_cv_warn_c__Wpointer_arith" = xyes; then : - as_fn_append WARN_CFLAGS " -Wpointer-arith" -fi - - - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 +$as_echo "$gl_cv_cc_nomfi_needed" >&6; } + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wwrite-strings" >&5 -$as_echo_n "checking whether C compiler handles -Wwrite-strings... " >&6; } -if ${gl_cv_warn_c__Wwrite_strings+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wuninitialized is supported" >&5 +$as_echo_n "checking whether -Wuninitialized is supported... " >&6; } +if ${gl_cv_cc_uninitialized_supported+:} false; then : $as_echo_n "(cached) " >&6 else - - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wwrite-strings" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wuninitialized" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -8324,109 +8290,293 @@ main () return 0; } _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__Wwrite_strings=yes +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_cc_uninitialized_supported=yes else - gl_cv_warn_c__Wwrite_strings=no + gl_cv_cc_uninitialized_supported=no fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + CFLAGS="$gl_save_CFLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wwrite_strings" >&5 -$as_echo "$gl_cv_warn_c__Wwrite_strings" >&6; } -if test "x$gl_cv_warn_c__Wwrite_strings" = xyes; then : - as_fn_append WARN_CFLAGS " -Wwrite-strings" -fi - +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_uninitialized_supported" >&5 +$as_echo "$gl_cv_cc_uninitialized_supported" >&6; } + fi + # List all gcc warning categories. + # To compare this list to your installed GCC's, run this Bash command: + # + # comm -3 \ + # <((sed -n 's/^ *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \ + # awk '/^[^#]/ {print warnings}' ../build-aux/gcc-warning.spec) | sort) \ + # <(LC_ALL=C gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort) + + gl_manywarn_set= + for gl_manywarn_item in -fno-common \ + -W \ + -Wabsolute-value \ + -Waddress \ + -Waddress-of-packed-member \ + -Waggressive-loop-optimizations \ + -Wall \ + -Wattribute-warning \ + -Wattributes \ + -Wbad-function-cast \ + -Wbool-compare \ + -Wbool-operation \ + -Wbuiltin-declaration-mismatch \ + -Wbuiltin-macro-redefined \ + -Wcannot-profile \ + -Wcast-align \ + -Wcast-align=strict \ + -Wcast-function-type \ + -Wchar-subscripts \ + -Wclobbered \ + -Wcomment \ + -Wcomments \ + -Wcoverage-mismatch \ + -Wcpp \ + -Wdangling-else \ + -Wdate-time \ + -Wdeprecated \ + -Wdeprecated-declarations \ + -Wdesignated-init \ + -Wdisabled-optimization \ + -Wdiscarded-array-qualifiers \ + -Wdiscarded-qualifiers \ + -Wdiv-by-zero \ + -Wdouble-promotion \ + -Wduplicated-branches \ + -Wduplicated-cond \ + -Wduplicate-decl-specifier \ + -Wempty-body \ + -Wendif-labels \ + -Wenum-compare \ + -Wexpansion-to-defined \ + -Wextra \ + -Wformat-contains-nul \ + -Wformat-extra-args \ + -Wformat-nonliteral \ + -Wformat-security \ + -Wformat-signedness \ + -Wformat-y2k \ + -Wformat-zero-length \ + -Wframe-address \ + -Wfree-nonheap-object \ + -Whsa \ + -Wif-not-aligned \ + -Wignored-attributes \ + -Wignored-qualifiers \ + -Wimplicit \ + -Wimplicit-function-declaration \ + -Wimplicit-int \ + -Wincompatible-pointer-types \ + -Winit-self \ + -Winline \ + -Wint-conversion \ + -Wint-in-bool-context \ + -Wint-to-pointer-cast \ + -Winvalid-memory-model \ + -Winvalid-pch \ + -Wlogical-not-parentheses \ + -Wlogical-op \ + -Wmain \ + -Wmaybe-uninitialized \ + -Wmemset-elt-size \ + -Wmemset-transposed-args \ + -Wmisleading-indentation \ + -Wmissing-attributes \ + -Wmissing-braces \ + -Wmissing-declarations \ + -Wmissing-field-initializers \ + -Wmissing-include-dirs \ + -Wmissing-parameter-type \ + -Wmissing-profile \ + -Wmissing-prototypes \ + -Wmultichar \ + -Wmultistatement-macros \ + -Wnarrowing \ + -Wnested-externs \ + -Wnonnull \ + -Wnonnull-compare \ + -Wnull-dereference \ + -Wodr \ + -Wold-style-declaration \ + -Wold-style-definition \ + -Wopenmp-simd \ + -Woverflow \ + -Woverlength-strings \ + -Woverride-init \ + -Wpacked \ + -Wpacked-bitfield-compat \ + -Wpacked-not-aligned \ + -Wparentheses \ + -Wpointer-arith \ + -Wpointer-compare \ + -Wpointer-sign \ + -Wpointer-to-int-cast \ + -Wpragmas \ + -Wpsabi \ + -Wrestrict \ + -Wreturn-local-addr \ + -Wreturn-type \ + -Wscalar-storage-order \ + -Wsequence-point \ + -Wshadow \ + -Wshift-count-negative \ + -Wshift-count-overflow \ + -Wshift-negative-value \ + -Wsizeof-array-argument \ + -Wsizeof-pointer-div \ + -Wsizeof-pointer-memaccess \ + -Wstack-protector \ + -Wstrict-aliasing \ + -Wstrict-overflow \ + -Wstrict-prototypes \ + -Wstringop-truncation \ + -Wsuggest-attribute=cold \ + -Wsuggest-attribute=const \ + -Wsuggest-attribute=format \ + -Wsuggest-attribute=malloc \ + -Wsuggest-attribute=noreturn \ + -Wsuggest-attribute=pure \ + -Wsuggest-final-methods \ + -Wsuggest-final-types \ + -Wswitch \ + -Wswitch-bool \ + -Wswitch-unreachable \ + -Wsync-nand \ + -Wsystem-headers \ + -Wtautological-compare \ + -Wtrampolines \ + -Wtrigraphs \ + -Wtype-limits \ + -Wuninitialized \ + -Wunknown-pragmas \ + -Wunsafe-loop-optimizations \ + -Wunused \ + -Wunused-but-set-parameter \ + -Wunused-but-set-variable \ + -Wunused-function \ + -Wunused-label \ + -Wunused-local-typedefs \ + -Wunused-macros \ + -Wunused-parameter \ + -Wunused-result \ + -Wunused-value \ + -Wunused-variable \ + -Wvarargs \ + -Wvariadic-macros \ + -Wvector-operation-performance \ + -Wvla \ + -Wvolatile-register-var \ + -Wwrite-strings \ + \ + ; do + gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wstrict-prototypes" >&5 -$as_echo_n "checking whether C compiler handles -Wstrict-prototypes... " >&6; } -if ${gl_cv_warn_c__Wstrict_prototypes+:} false; then : - $as_echo_n "(cached) " >&6 -else - - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wstrict-prototypes" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ + # gcc --help=warnings outputs an unusual form for these options; list + # them here so that the above 'comm' command doesn't report a false match. + # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal. + # Also, AC_COMPUTE_INT requires it to fit in a long; it is 2**63 on + # the only platforms where it does not fit in a long, so make that + # a special case. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking max safe object size" >&5 +$as_echo_n "checking max safe object size... " >&6; } + if ac_fn_c_compute_int "$LINENO" "LONG_MAX < (PTRDIFF_MAX < (size_t) -1 ? PTRDIFF_MAX : (size_t) -1) + ? -1 + : PTRDIFF_MAX < (size_t) -1 ? (long) PTRDIFF_MAX : (long) (size_t) -1" "gl_alloc_max" "#include <limits.h> + #include <stddef.h> + #include <stdint.h> + "; then : - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__Wstrict_prototypes=yes else - gl_cv_warn_c__Wstrict_prototypes=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wstrict_prototypes" >&5 -$as_echo "$gl_cv_warn_c__Wstrict_prototypes" >&6; } -if test "x$gl_cv_warn_c__Wstrict_prototypes" = xyes; then : - as_fn_append WARN_CFLAGS " -Wstrict-prototypes" + gl_alloc_max=2147483647 fi + case $gl_alloc_max in + -1) gl_alloc_max=9223372036854775807;; + esac + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_alloc_max" >&5 +$as_echo "$gl_alloc_max" >&6; } + gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$gl_alloc_max" + gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2" + gl_manywarn_set="$gl_manywarn_set -Wattribute-alias=2" + gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2" + gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2" + gl_manywarn_set="$gl_manywarn_set -Wimplicit-fallthrough=5" + gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc" + gl_manywarn_set="$gl_manywarn_set -Wshift-overflow=2" + gl_manywarn_set="$gl_manywarn_set -Wstringop-overflow=2" + gl_manywarn_set="$gl_manywarn_set -Wunused-const-variable=2" + gl_manywarn_set="$gl_manywarn_set -Wvla-larger-than=4031" + + # These are needed for older GCC versions. + if test -n "$GCC"; then + case `($CC --version) 2>/dev/null` in + 'gcc (GCC) '[0-3].* | \ + 'gcc (GCC) '4.[0-7].*) + gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option" + gl_manywarn_set="$gl_manywarn_set -funit-at-a-time" + ;; + esac + fi + # Disable specific options as needed. + if test "$gl_cv_cc_nomfi_needed" = yes; then + gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" + fi + if test "$gl_cv_cc_uninitialized_supported" = no; then + gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wshadow" >&5 -$as_echo_n "checking whether C compiler handles -Wshadow... " >&6; } -if ${gl_cv_warn_c__Wshadow+:} false; then : - $as_echo_n "(cached) " >&6 -else + warnings=$gl_manywarn_set - gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wshadow" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -int -main () -{ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__Wshadow=yes -else - gl_cv_warn_c__Wshadow=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - CFLAGS="$gl_save_compiler_FLAGS" +nw= +nw="$nw -Wsystem-headers" +nw="$nw -Wmissing-field-initializers" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wshadow" >&5 -$as_echo "$gl_cv_warn_c__Wshadow" >&6; } -if test "x$gl_cv_warn_c__Wshadow" = xyes; then : - as_fn_append WARN_CFLAGS " -Wshadow" -fi + gl_warn_set= + set x $warnings; shift + for gl_warn_item + do + case " $nw " in + *" $gl_warn_item "*) + ;; + *) + gl_warn_set="$gl_warn_set $gl_warn_item" + ;; + esac + done + warnings=$gl_warn_set +for w in $warnings; do + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wformat-security" >&5 -$as_echo_n "checking whether C compiler handles -Wformat-security... " >&6; } -if ${gl_cv_warn_c__Wformat_security+:} false; then : +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5 +$as_echo_n "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; } +if ${gl_cv_warn_c__Werror__Wunknown_warning_option+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-security" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Werror -Wunknown-warning-option" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8439,32 +8589,45 @@ main () } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__Wformat_security=yes + gl_cv_warn_c__Werror__Wunknown_warning_option=yes else - gl_cv_warn_c__Wformat_security=no + gl_cv_warn_c__Werror__Wunknown_warning_option=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wformat_security" >&5 -$as_echo "$gl_cv_warn_c__Wformat_security" >&6; } -if test "x$gl_cv_warn_c__Wformat_security" = xyes; then : - as_fn_append WARN_CFLAGS " -Wformat-security" +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Werror__Wunknown_warning_option" >&5 +$as_echo "$gl_cv_warn_c__Werror__Wunknown_warning_option" >&6; } +if test "x$gl_cv_warn_c__Werror__Wunknown_warning_option" = xyes; then : + gl_unknown_warnings_are_errors='-Wunknown-warning-option -Werror' +else + gl_unknown_warnings_are_errors= fi + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wredundant-decls" >&5 -$as_echo_n "checking whether C compiler handles -Wredundant-decls... " >&6; } -if ${gl_cv_warn_c__Wredundant_decls+:} false; then : +as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh` +gl_positive="$w" +case $gl_positive in + -Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;; +esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5 +$as_echo_n "checking whether C compiler handles $w... " >&6; } +if eval \${$as_gl_Warn+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_compiler_FLAGS="$CFLAGS" - as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wredundant-decls" + as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $gl_positive" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -8477,22 +8640,24 @@ main () } _ACEOF if ac_fn_c_try_link "$LINENO"; then : - gl_cv_warn_c__Wredundant_decls=yes + eval "$as_gl_Warn=yes" else - gl_cv_warn_c__Wredundant_decls=no + eval "$as_gl_Warn=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$gl_save_compiler_FLAGS" fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wredundant_decls" >&5 -$as_echo "$gl_cv_warn_c__Wredundant_decls" >&6; } -if test "x$gl_cv_warn_c__Wredundant_decls" = xyes; then : - as_fn_append WARN_CFLAGS " -Wredundant-decls" +eval ac_res=\$$as_gl_Warn + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : + as_fn_append WARN_CFLAGS " $w" fi +done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-missing-field-initializers" >&5 @@ -8531,7 +8696,11 @@ if test "x$gl_cv_warn_c__Wno_missing_field_initializers" = xyes; then : fi -fi +# Disable use of VLAs by Gnulib to avoid tripping over -Wvla. + +$as_echo "#define GNULIB_NO_VLA 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } @@ -12757,6 +12926,12 @@ lt_prog_compiler_static= lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -18232,6 +18407,7 @@ fi + LIBC_FATAL_STDERR_=1 export LIBC_FATAL_STDERR_ @@ -19213,6 +19389,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_realpath_works="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_realpath_works="guessing no" ;; # If we don't know, assume the worst. @@ -19430,6 +19608,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h GNULIB_SECURE_GETENV=0; GNULIB_SETENV=0; GNULIB_STRTOD=0; + GNULIB_STRTOLD=0; GNULIB_STRTOLL=0; GNULIB_STRTOULL=0; GNULIB_SYSTEM_POSIX=0; @@ -19442,7 +19621,9 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h HAVE_DECL_GETLOADAVG=1; HAVE_GETSUBOPT=1; HAVE_GRANTPT=1; + HAVE_INITSTATE=1; HAVE_DECL_INITSTATE=1; + HAVE_MBTOWC=1; HAVE_MKDTEMP=1; HAVE_MKOSTEMP=1; HAVE_MKOSTEMPS=1; @@ -19461,8 +19642,10 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h HAVE_SECURE_GETENV=1; HAVE_SETENV=1; HAVE_DECL_SETENV=1; + HAVE_SETSTATE=1; HAVE_DECL_SETSTATE=1; HAVE_STRTOD=1; + HAVE_STRTOLD=1; HAVE_STRTOLL=1; HAVE_STRTOULL=1; HAVE_STRUCT_RANDOM_DATA=1; @@ -19471,6 +19654,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h HAVE_DECL_UNSETENV=1; REPLACE_CALLOC=0; REPLACE_CANONICALIZE_FILE_NAME=0; + REPLACE_INITSTATE=0; REPLACE_MALLOC=0; REPLACE_MBTOWC=0; REPLACE_MKSTEMP=0; @@ -19478,11 +19662,14 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h REPLACE_PTSNAME_R=0; REPLACE_PUTENV=0; REPLACE_QSORT_R=0; + REPLACE_RANDOM=0; REPLACE_RANDOM_R=0; REPLACE_REALLOC=0; REPLACE_REALPATH=0; REPLACE_SETENV=0; + REPLACE_SETSTATE=0; REPLACE_STRTOD=0; + REPLACE_STRTOLD=0; REPLACE_UNSETENV=0; REPLACE_WCTOMB=0; @@ -19503,6 +19690,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h GNULIB_CHDIR=0; GNULIB_CHOWN=0; GNULIB_CLOSE=0; + GNULIB_COPY_FILE_RANGE=0; GNULIB_DUP=0; GNULIB_DUP2=0; GNULIB_DUP3=0; @@ -19551,6 +19739,7 @@ $as_echo "#define FUNC_REALPATH_WORKS 1" >>confdefs.h GNULIB_USLEEP=0; GNULIB_WRITE=0; HAVE_CHOWN=1; + HAVE_COPY_FILE_RANGE=1; HAVE_DUP2=1; HAVE_DUP3=1; HAVE_EUIDACCESS=1; @@ -19756,7 +19945,7 @@ if ${gl_cv_func_chown_follows_symlink+:} false; then : else if test "$cross_compiling" = yes; then : - gl_cv_func_chown_follows_symlink=yes + gl_cv_func_chown_follows_symlink="guessing yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -19801,11 +19990,14 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_chown_follows_symlink" >&5 $as_echo "$gl_cv_func_chown_follows_symlink" >&6; } - if test $gl_cv_func_chown_follows_symlink = no; then + case "$gl_cv_func_chown_follows_symlink" in + *yes) ;; + *) $as_echo "#define CHOWN_MODIFIES_SYMLINK 1" >>confdefs.h - fi + ;; + esac @@ -19842,10 +20034,12 @@ else touch conftest.file && rm -f conftest.link if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_chown_slash_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_chown_slash_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_slash_works="guessing no" ;; esac else @@ -19896,10 +20090,12 @@ if ${gl_cv_func_chown_ctime_works+:} false; then : else if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_chown_ctime_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_chown_ctime_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_ctime_works="guessing no" ;; esac else @@ -21292,6 +21488,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_getcwd_null="guessing yes";; # Guess yes on Cygwin. cygwin*) gl_cv_func_getcwd_null="guessing yes";; # If we don't know, assume the worst. @@ -22784,9 +22982,15 @@ $as_echo "$gl_cv_next_sys_socket_h" >&6; } if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 + fi + + + + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_WS2TCPIP_H=0 + else if test $ac_cv_header_ws2tcpip_h = yes; then HAVE_WS2TCPIP_H=1 else @@ -23259,553 +23463,6 @@ $as_echo "$gl_cv_next_stddef_h" >&6; } - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which - # contains only /bin. Note that ksh looks also at the FPATH variable, - # so we have to set that as well for the test. - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ - || PATH_SEPARATOR=';' - } -fi - -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 -$as_echo_n "checking for ld... " >&6; } -elif test "$GCC" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if test -n "$LD"; then - # Let the user override the test with a path. - : -else - if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - - acl_cv_path_LD= # Final result of this test - ac_prog=ld # Program to search in $PATH - if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - acl_output=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $acl_output in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` - while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do - acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` - done - # Got the pathname. No search in PATH is needed. - acl_cv_path_LD="$acl_output" - ac_prog= - ;; - "") - # If it fails, then pretend we aren't using GCC. - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac - fi - if test -n "$ac_prog"; then - # Search for $ac_prog in $PATH. - acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$acl_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break - ;; - *) - test "$with_gnu_ld" != yes && break - ;; - esac - fi - done - IFS="$acl_save_ifs" - fi - case $host in - *-*-aix*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __powerpc64__ || defined _ARCH_PPC64 - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # The compiler produces 64-bit code. Add option '-b64' so that the - # linker groks 64-bit object files. - case "$acl_cv_path_LD " in - *" -b64 "*) ;; - *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; - esac - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - sparc64-*-netbsd*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __sparcv9 || defined __arch64__ - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - # The compiler produces 32-bit code. Add option '-m elf32_sparc' - # so that the linker groks 32-bit object files. - case "$acl_cv_path_LD " in - *" -m elf32_sparc "*) ;; - *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; - esac - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - esac - -fi - - LD="$acl_cv_path_LD" -fi -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 </dev/null` in -*GNU* | *'with BFD'*) - acl_cv_prog_gnu_ld=yes - ;; -*) - acl_cv_prog_gnu_ld=no - ;; -esac -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5 -$as_echo_n "checking 32-bit host C ABI... " >&6; } -if ${gl_cv_host_cpu_c_abi_32bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$gl_cv_host_cpu_c_abi"; then - case "$gl_cv_host_cpu_c_abi" in - i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) - gl_cv_host_cpu_c_abi_32bit=yes ;; - *) - gl_cv_host_cpu_c_abi_32bit=no ;; - esac - else - case "$host_cpu" in - - i[4567]86 ) - gl_cv_host_cpu_c_abi_32bit=yes - ;; - - x86_64 ) - # On x86_64 systems, the C compiler may be generating code in one of - # these ABIs: - # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. - # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 - # with native Windows (mingw, MSVC). - # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. - # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if (defined __x86_64__ || defined __amd64__ \ - || defined _M_X64 || defined _M_AMD64) \ - && !(defined __ILP32__ || defined _ILP32) - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - arm* | aarch64 ) - # Assume arm with EABI. - # On arm64 systems, the C compiler may be generating code in one of - # these ABIs: - # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. - # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. - # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) - # On hppa, the C compiler may be generating 32-bit code or 64-bit - # code. In the latter case, it defines _LP64 and __LP64__. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __LP64__ - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - ia64* ) - # On ia64 on HP-UX, the C compiler may be generating 64-bit code or - # 32-bit code. In the latter case, it defines _ILP32. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef _ILP32 - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=yes -else - gl_cv_host_cpu_c_abi_32bit=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - mips* ) - # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this - # at 32. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - powerpc* ) - # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. - # No need to distinguish them here; the caller may distinguish - # them based on the OS. - # On powerpc64 systems, the C compiler may still be generating - # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may - # be generating 64-bit code. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __powerpc64__ || defined _ARCH_PPC64 - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - rs6000 ) - gl_cv_host_cpu_c_abi_32bit=yes - ;; - - riscv32 | riscv64 ) - # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. - # Size of 'long' and 'void *': - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __LP64__ - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - s390* ) - # On s390x, the C compiler may be generating 64-bit (= s390x) code - # or 31-bit (= s390) code. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __LP64__ || defined __s390x__ - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - sparc | sparc64 ) - # UltraSPARCs running Linux have `uname -m` = "sparc64", but the - # C compiler still generates 32-bit code. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#if defined __sparcv9 || defined __arch64__ - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_host_cpu_c_abi_32bit=no -else - gl_cv_host_cpu_c_abi_32bit=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - - *) - gl_cv_host_cpu_c_abi_32bit=no - ;; - esac - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5 -$as_echo "$gl_cv_host_cpu_c_abi_32bit" >&6; } - - HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" - - - - - - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef _LP64 - int ok; - #else - error fail - #endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; };; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5 -$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; } -if ${acl_cv_libdirstems+:} false; then : - $as_echo_n "(cached) " >&6 -else - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - if test "$HOST_CPU_C_ABI_32BIT" != yes; then - searchpath=`(if test -f /usr/bin/gcc \ - && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ - LC_ALL=C /usr/bin/gcc -print-search-dirs; \ - else \ - LC_ALL=C $CC -print-search-dirs; \ - fi) 2>/dev/null \ - | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5 -$as_echo "$acl_cv_libdirstems" >&6; } - # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. - acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` - acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'` @@ -23884,6 +23541,10 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_have_weak" >&5 $as_echo "$gl_cv_have_weak" >&6; } + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + + : + fi if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY. @@ -24102,606 +23763,6 @@ $as_echo "#define USE_POSIX_THREADS_WEAK 1" >>confdefs.h fi fi if test -z "$gl_have_pthread"; then - if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then - gl_have_solaristhread= - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lthread" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include <thread.h> -#include <synch.h> - -int -main () -{ -thr_self(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_have_solaristhread=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - if test -n "$gl_have_solaristhread"; then - gl_threads_api=solaris - LIBTHREAD=-lthread - LTLIBTHREAD=-lthread - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" - -$as_echo "#define USE_SOLARIS_THREADS 1" >>confdefs.h - - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then - -$as_echo "#define USE_SOLARIS_THREADS_WEAK 1" >>confdefs.h - - LIBTHREAD= - LTLIBTHREAD= - fi - fi - fi - fi - if test "$gl_use_threads" = pth; then - gl_save_CPPFLAGS="$CPPFLAGS" - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libpth" >&5 -$as_echo_n "checking how to link with libpth... " >&6; } -if ${ac_cv_libpth_libs+:} false; then : - $as_echo_n "(cached) " >&6 -else - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libpth-prefix was given. -if test "${with_libpth_prefix+set}" = set; then : - withval=$with_libpth_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && test ! -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBPTH= - LTLIBPTH= - INCPTH= - LIBPTH_PREFIX= - HAVE_LIBPTH= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='pth ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBPTH="${LIBPTH}${LIBPTH:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBPTH; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBPTH; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_so" - else - LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }$found_a" - else - LIBPTH="${LIBPTH}${LIBPTH:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'pth'; then - LIBPTH_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'pth'; then - LIBPTH_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCPTH; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCPTH="${INCPTH}${INCPTH:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBPTH; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBPTH="${LIBPTH}${LIBPTH:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBPTH; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBPTH="${LIBPTH}${LIBPTH:+ }$dep" - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }$dep" - ;; - esac - done - fi - else - LIBPTH="${LIBPTH}${LIBPTH:+ }-l$name" - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBPTH="${LIBPTH}${LIBPTH:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBPTH="${LTLIBPTH}${LTLIBPTH:+ }-R$found_dir" - done - fi - - - - - - ac_cv_libpth_libs="$LIBPTH" - ac_cv_libpth_ltlibs="$LTLIBPTH" - ac_cv_libpth_cppflags="$INCPTH" - ac_cv_libpth_prefix="$LIBPTH_PREFIX" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libpth_libs" >&5 -$as_echo "$ac_cv_libpth_libs" >&6; } - LIBPTH="$ac_cv_libpth_libs" - LTLIBPTH="$ac_cv_libpth_ltlibs" - INCPTH="$ac_cv_libpth_cppflags" - LIBPTH_PREFIX="$ac_cv_libpth_prefix" - - for element in $INCPTH; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - - - HAVE_LIBPTH=yes - - - - gl_have_pth= - gl_save_LIBS="$LIBS" - LIBS="$LIBS $LIBPTH" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <pth.h> -int -main () -{ -pth_self(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gl_have_pth=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gl_save_LIBS" - if test -n "$gl_have_pth"; then - gl_threads_api=pth - LIBTHREAD="$LIBPTH" - LTLIBTHREAD="$LTLIBPTH" - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" - -$as_echo "#define USE_PTH_THREADS 1" >>confdefs.h - - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then - -$as_echo "#define USE_PTH_THREADS_WEAK 1" >>confdefs.h - - LIBTHREAD= - LTLIBTHREAD= - fi - fi - else - CPPFLAGS="$gl_save_CPPFLAGS" - fi - fi - if test -z "$gl_have_pthread"; then case "$gl_use_threads" in yes | windows | win32) # The 'win32' is for backward compatibility. if { case "$host_os" in @@ -24787,11 +23848,11 @@ else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \ + *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) - ac_cv_func_malloc_0_nonnull=yes ;; + ac_cv_func_malloc_0_nonnull="guessing yes" ;; # If we don't know, assume the worst. - *) ac_cv_func_malloc_0_nonnull=no ;; + *) ac_cv_func_malloc_0_nonnull="guessing no" ;; esac else @@ -24828,11 +23889,14 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } - if test $ac_cv_func_malloc_0_nonnull = yes; then : - gl_cv_func_malloc_0_nonnull=1 -else - gl_cv_func_malloc_0_nonnull=0 -fi + case "$ac_cv_func_malloc_0_nonnull" in + *yes) + gl_cv_func_malloc_0_nonnull=1 + ;; + *) + gl_cv_func_malloc_0_nonnull=0 + ;; + esac cat >>confdefs.h <<_ACEOF @@ -25537,6 +24601,8 @@ $as_echo "#define HAVE_MAP_ANONYMOUS 1" >>confdefs.h # memchr should not dereference overestimated length after a match # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # memchr should cast the second argument to 'unsigned char'. + # This bug exists in Android 4.3. # Assume that memchr works on platforms that lack mprotect. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether memchr works" >&5 $as_echo_n "checking whether memchr works... " >&6; } @@ -25545,10 +24611,12 @@ if ${gl_cv_func_memchr_works+:} false; then : else if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_func_memchr_works="guessing yes" ;; - # Be pessimistic for now. - *) gl_cv_func_memchr_works="guessing no" ;; + # Guess no on Android. + linux*-android*) gl_cv_func_memchr_works="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_memchr_works="guessing yes" ;; + # Be pessimistic for now. + *) gl_cv_func_memchr_works="guessing no" ;; esac else @@ -25601,6 +24669,15 @@ main () if (memchr (fence - 1, 0, 3) != fence - 1) result |= 4; } + /* Test against bug on Android 4.3. */ + { + char input[3]; + input[0] = 'a'; + input[1] = 'b'; + input[2] = 'c'; + if (memchr (input, 0x789abc00 | 'b', 3) != input + 1) + result |= 8; + } return result; ; @@ -27958,6 +27035,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;; # Guess yes on native Windows. mingw*) gl_cv_func_strerror_0_works="guessing yes" ;; # If we don't know, assume the worst. @@ -28550,9 +27629,11 @@ if ${gl_cv_func_working_utimes+:} false; then : else if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess no on native Windows. - mingw*) gl_cv_func_working_utimes="guessing no" ;; - *) gl_cv_func_working_utimes="guessing no" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_working_utimes="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_working_utimes="guessing no" ;; + *) gl_cv_func_working_utimes="guessing no" ;; esac else @@ -29206,6 +28287,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; @@ -29453,6 +28536,13 @@ else fi + if test $ac_cv_working_alloca_h = yes; then + HAVE_ALLOCA_H=1 + else + HAVE_ALLOCA_H=0 + fi + + @@ -30268,12 +29358,14 @@ if ${gl_cv_struct_dirent_d_ino+:} false; then : else if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on glibc systems with Linux kernel. - linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; - # Guess no on native Windows. - mingw*) gl_cv_struct_dirent_d_ino="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_struct_dirent_d_ino="guessing no" ;; + # Guess yes on glibc systems with Linux kernel. + linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; + # Guess yes on musl systems with Linux kernel. + linux*-musl*) gl_cv_struct_dirent_d_ino="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_struct_dirent_d_ino="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_struct_dirent_d_ino="guessing no" ;; esac else @@ -31426,10 +30518,12 @@ if ${gl_cv_func_fdopendir_works+:} false; then : else if test "$cross_compiling" = yes; then : case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_fdopendir_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_fdopendir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_fdopendir_works="guessing no" ;; esac else @@ -31837,7 +30931,7 @@ fi - gl_fnmatch_required_lowercase=` + gl_fnmatch_required_lowercase=` echo $gl_fnmatch_required | LC_ALL=C tr '[A-Z]' '[a-z]' ` @@ -31858,7 +30952,13 @@ else gl_fnmatch_gnu_end='#endif' fi if test "$cross_compiling" = yes; then : - eval "$gl_fnmatch_cache_var=\"guessing no\"" + case "$host_os" in + # Guess yes on musl systems. + *-musl*) eval "$gl_fnmatch_cache_var=\"guessing yes\"" ;; + # Guess no otherwise, even on glibc systems. + *) eval "$gl_fnmatch_cache_var=\"guessing no\"" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -31961,9 +31061,10 @@ eval ac_res=\$$gl_fnmatch_cache_var { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" - if test "$gl_fnmatch_result" != yes; then - REPLACE_FNMATCH=1 - fi + case "$gl_fnmatch_result" in + *yes) ;; + *) REPLACE_FNMATCH=1 ;; + esac fi if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then @@ -32247,7 +31348,15 @@ if ${gl_cv_func_futimens_works+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : - gl_cv_func_futimens_works="guessing yes" + case "$host_os" in + # Guess no on glibc systems. + *-gnu* | gnu*) gl_cv_func_futimens_works="guessing no" ;; + # Guess no on musl systems. + *-musl*) gl_cv_func_futimens_works="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_futimens_works="guessing yes" ;; + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32296,9 +31405,12 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_futimens_works" >&5 $as_echo "$gl_cv_func_futimens_works" >&6; } - if test "$gl_cv_func_futimens_works" = no; then - REPLACE_FUTIMENS=1 - fi + case "$gl_cv_func_futimens_works" in + *yes) ;; + *) + REPLACE_FUTIMENS=1 + ;; + esac fi if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then @@ -32649,7 +31761,13 @@ else # Arrange for deletion of the temporary directory this test creates. ac_clean_files="$ac_clean_files confdir-14B---" if test "$cross_compiling" = yes; then : - gl_cv_func_getcwd_abort_bug=yes + case "$host_os" in + # Guess no on musl systems. + *-musl*) gl_cv_func_getcwd_abort_bug="guessing no" ;; + # Guess yes otherwise, even on glibc systems. + *) gl_cv_func_getcwd_abort_bug="guessing yes" + esac + else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -32778,6 +31896,7 @@ else else gl_cv_func_getcwd_abort_bug=no fi + fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext @@ -32787,9 +31906,14 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_getcwd_abort_bug" >&5 $as_echo "$gl_cv_func_getcwd_abort_bug" >&6; } - if test $gl_cv_func_getcwd_abort_bug = yes; then : - gl_abort_bug=yes -fi + case "$gl_cv_func_getcwd_abort_bug" in + *yes) + gl_abort_bug=yes + ;; + *) + + ;; + esac ;; esac @@ -32917,8 +32041,8 @@ if ${gl_cv_func_working_getdelim+:} false; then : $as_echo_n "(cached) " >&6 else echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> @@ -32933,7 +32057,11 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : gl_cv_func_working_getdelim="guessing yes" else - gl_cv_func_working_getdelim="guessing no" + case "$host_os" in + *-musl*) gl_cv_func_working_getdelim="guessing yes" ;; + *) gl_cv_func_working_getdelim="guessing no" ;; + esac + fi rm -f conftest* @@ -32982,13 +32110,13 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_working_getdelim" >&5 $as_echo "$gl_cv_func_working_getdelim" >&6; } case "$gl_cv_func_working_getdelim" in - *no) - REPLACE_GETDELIM=1 - ;; + *yes) ;; + *) REPLACE_GETDELIM=1 ;; esac else HAVE_GETDELIM=0 @@ -33163,8 +32291,8 @@ if ${am_cv_func_working_getline+:} false; then : $as_echo_n "(cached) " >&6 else echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - if test "$cross_compiling" = yes; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + if test "$cross_compiling" = yes; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <features.h> @@ -33179,7 +32307,11 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "Lucky GNU user" >/dev/null 2>&1; then : am_cv_func_working_getline="guessing yes" else - am_cv_func_working_getline="guessing no" + case "$host_os" in + *-musl*) am_cv_func_working_getline="guessing yes" ;; + *) am_cv_func_working_getline="guessing no" ;; + esac + fi rm -f conftest* @@ -33229,6 +32361,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_working_getline" >&5 $as_echo "$am_cv_func_working_getline" >&6; } @@ -33239,7 +32372,8 @@ $as_echo "$am_cv_func_working_getline" >&6; } fi case "$am_cv_func_working_getline" in - *no) + *yes) ;; + *) REPLACE_GETLINE=1 ;; esac @@ -33565,6 +32699,8 @@ else case "$host_os" in # Guess all is fine on glibc systems. *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess all is fine on musl systems. + *-musl*) gl_cv_func_gettimeofday_clobber="guessing no" ;; # Guess no on native Windows. mingw*) gl_cv_func_gettimeofday_clobber="guessing no" ;; # If we don't know, assume the worst. @@ -33772,7 +32908,7 @@ else fi if test $gl_cv_glob_lists_symlinks = maybe; then if test "$cross_compiling" = yes; then : - gl_cv_glob_lists_symlinks=no + gl_cv_glob_lists_symlinks="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -33804,9 +32940,10 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_glob_lists_symlinks" >&5 $as_echo "$gl_cv_glob_lists_symlinks" >&6; } - if test $gl_cv_glob_lists_symlinks = no; then - REPLACE_GLOB=1 - fi + case "$gl_cv_glob_lists_symlinks" in + *yes) ;; + *) REPLACE_GLOB=1 ;; + esac fi fi @@ -34927,11 +34064,11 @@ else if test "$cross_compiling" = yes; then : case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \ + *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) - ac_cv_func_malloc_0_nonnull=yes ;; + ac_cv_func_malloc_0_nonnull="guessing yes" ;; # If we don't know, assume the worst. - *) ac_cv_func_malloc_0_nonnull=no ;; + *) ac_cv_func_malloc_0_nonnull="guessing no" ;; esac else @@ -34968,16 +34105,19 @@ fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_malloc_0_nonnull" >&5 $as_echo "$ac_cv_func_malloc_0_nonnull" >&6; } - if test $ac_cv_func_malloc_0_nonnull = yes; then : + case "$ac_cv_func_malloc_0_nonnull" in + *yes) $as_echo "#define HAVE_MALLOC_GNU 1" >>confdefs.h -else - $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h + ;; + *) + $as_echo "#define HAVE_MALLOC_GNU 0" >>confdefs.h REPLACE_MALLOC=1 -fi + ;; + esac if test $REPLACE_MALLOC = 1; then @@ -36326,11 +35466,26 @@ $as_echo "#define GNULIB_TEST_MBSRTOWCS 1" >>confdefs.h - if false; then - REPLACE_MBTOWC=1 + for ac_func in mbtowc +do : + ac_fn_c_check_func "$LINENO" "mbtowc" "ac_cv_func_mbtowc" +if test "x$ac_cv_func_mbtowc" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_MBTOWC 1 +_ACEOF + +fi +done + + if test $ac_cv_func_mbtowc = no; then + HAVE_MBTOWC=0 + else + if false; then + REPLACE_MBTOWC=1 + fi fi - if test $REPLACE_MBTOWC = 1; then + if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then @@ -36835,6 +35990,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; # If we don't know, assume the worst. @@ -36955,6 +36112,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_working_mkstemp="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_working_mkstemp="guessing no" ;; # If we don't know, assume the worst. @@ -39092,6 +38251,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_setenv_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_setenv_works="guessing no" ;; esac @@ -39518,6 +38679,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_sleep_works="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_sleep_works="guessing no" ;; # If we don't know, assume the worst. @@ -41175,6 +40338,8 @@ else case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_working_strerror="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_working_strerror="guessing no" ;; esac @@ -42111,9 +41276,6 @@ fi - - - : @@ -43221,13 +42383,70 @@ _ACEOF else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 - else + fi + if test $REPLACE_WCRTOMB = 0; then + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb works in the C locale" >&5 +$as_echo_n "checking whether wcrtomb works in the C locale... " >&6; } +if ${gl_cv_func_wcrtomb_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + case "$host_os" in + # Guess no on Android. + linux*-android*) gl_cv_func_wcrtomb_works="guessing no";; + # Guess yes otherwise. + *) gl_cv_func_wcrtomb_works="guessing yes";; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> +#include <stdlib.h> +/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before + <wchar.h>. + BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be + included before <wchar.h>. */ +#include <stddef.h> +#include <stdio.h> +#include <wchar.h> +int main () +{ + mbstate_t state; + char out[64]; + int count; + memset (&state, 0, sizeof (state)); + out[0] = 'x'; + count = wcrtomb (out, L'a', &state); + return !(count == 1 && out[0] == 'a'); +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + gl_cv_func_wcrtomb_works=yes +else + gl_cv_func_wcrtomb_works=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb return value is correct" >&5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_wcrtomb_works" >&5 +$as_echo "$gl_cv_func_wcrtomb_works" >&6; } + case "$gl_cv_func_wcrtomb_works" in + *yes) ;; + *) REPLACE_WCRTOMB=1 ;; + esac + fi + if test $REPLACE_WCRTOMB = 0; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether wcrtomb return value is correct" >&5 $as_echo_n "checking whether wcrtomb return value is correct... " >&6; } if ${gl_cv_func_wcrtomb_retval+:} false; then : $as_echo_n "(cached) " >&6 @@ -43650,6 +42869,66 @@ $as_echo "$gl_cv_type_wctrans_t" >&6; } + + case "$host_os" in + mingw*) + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS windows-mutex.$ac_objext" + + ;; + esac + + case "$host_os" in + mingw*) + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS windows-once.$ac_objext" + + ;; + esac + + case "$host_os" in + mingw*) + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS windows-recmutex.$ac_objext" + + ;; + esac + + case "$host_os" in + mingw*) + + + + + + + + + gl_LIBOBJS="$gl_LIBOBJS windows-rwlock.$ac_objext" + + ;; + esac : : @@ -44038,6 +43317,555 @@ fi + if test "X$prefix" = "XNONE"; then + acl_final_prefix="$ac_default_prefix" + else + acl_final_prefix="$prefix" + fi + if test "X$exec_prefix" = "XNONE"; then + acl_final_exec_prefix='${prefix}' + else + acl_final_exec_prefix="$exec_prefix" + fi + acl_save_prefix="$prefix" + prefix="$acl_final_prefix" + eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" + prefix="$acl_save_prefix" + + + +# Check whether --with-gnu-ld was given. +if test "${with_gnu_ld+set}" = set; then : + withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes +else + with_gnu_ld=no +fi + +# Prepare PATH_SEPARATOR. +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which + # contains only /bin. Note that ksh looks also at the FPATH variable, + # so we have to set that as well for the test. + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \ + || PATH_SEPARATOR=';' + } +fi + +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld" >&5 +$as_echo_n "checking for ld... " >&6; } +elif test "$GCC" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 +$as_echo_n "checking for ld used by $CC... " >&6; } +elif test "$with_gnu_ld" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 +$as_echo_n "checking for GNU ld... " >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 +$as_echo_n "checking for non-GNU ld... " >&6; } +fi +if test -n "$LD"; then + # Let the user override the test with a path. + : +else + if ${acl_cv_path_LD+:} false; then : + $as_echo_n "(cached) " >&6 +else + + acl_cv_path_LD= # Final result of this test + ac_prog=ld # Program to search in $PATH + if test "$GCC" = yes; then + # Check if gcc -print-prog-name=ld gives a path. + case $host in + *-*-mingw*) + # gcc leaves a trailing carriage return which upsets mingw + acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; + *) + acl_output=`($CC -print-prog-name=ld) 2>&5` ;; + esac + case $acl_output in + # Accept absolute paths. + [\\/]* | ?:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the pathname of ld + acl_output=`echo "$acl_output" | sed 's%\\\\%/%g'` + while echo "$acl_output" | grep "$re_direlt" > /dev/null 2>&1; do + acl_output=`echo $acl_output | sed "s%$re_direlt%/%"` + done + # Got the pathname. No search in PATH is needed. + acl_cv_path_LD="$acl_output" + ac_prog= + ;; + "") + # If it fails, then pretend we aren't using GCC. + ;; + *) + # If it is relative, then search for the first ld in PATH. + with_gnu_ld=unknown + ;; + esac + fi + if test -n "$ac_prog"; then + # Search for $ac_prog in $PATH. + acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH; do + IFS="$acl_save_ifs" + test -z "$ac_dir" && ac_dir=. + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then + acl_cv_path_LD="$ac_dir/$ac_prog" + # Check to see if the program is GNU ld. I'd rather use --version, + # but apparently some variants of GNU ld only accept -v. + # Break only if it was the GNU/non-GNU ld that we prefer. + case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in + *GNU* | *'with BFD'*) + test "$with_gnu_ld" != no && break + ;; + *) + test "$with_gnu_ld" != yes && break + ;; + esac + fi + done + IFS="$acl_save_ifs" + fi + case $host in + *-*-aix*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + # The compiler produces 64-bit code. Add option '-b64' so that the + # linker groks 64-bit object files. + case "$acl_cv_path_LD " in + *" -b64 "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -b64" ;; + esac + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + sparc64-*-netbsd*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + # The compiler produces 32-bit code. Add option '-m elf32_sparc' + # so that the linker groks 32-bit object files. + case "$acl_cv_path_LD " in + *" -m elf32_sparc "*) ;; + *) acl_cv_path_LD="$acl_cv_path_LD -m elf32_sparc" ;; + esac + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + esac + +fi + + LD="$acl_cv_path_LD" +fi +if test -n "$LD"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 +$as_echo "$LD" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 +$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } +if ${acl_cv_prog_gnu_ld+:} false; then : + $as_echo_n "(cached) " >&6 +else + # I'd rather use --version here, but apparently some GNU lds only accept -v. +case `$LD -v 2>&1 </dev/null` in +*GNU* | *'with BFD'*) + acl_cv_prog_gnu_ld=yes + ;; +*) + acl_cv_prog_gnu_ld=no + ;; +esac +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_prog_gnu_ld" >&5 +$as_echo "$acl_cv_prog_gnu_ld" >&6; } +with_gnu_ld=$acl_cv_prog_gnu_ld + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 +$as_echo_n "checking for shared library run path origin... " >&6; } +if ${acl_cv_rpath+:} false; then : + $as_echo_n "(cached) " >&6 +else + + CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ + ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh + . ./conftest.sh + rm -f ./conftest.sh + acl_cv_rpath=done + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 +$as_echo "$acl_cv_rpath" >&6; } + wl="$acl_cv_wl" + acl_libext="$acl_cv_libext" + acl_shlibext="$acl_cv_shlibext" + acl_libname_spec="$acl_cv_libname_spec" + acl_library_names_spec="$acl_cv_library_names_spec" + acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" + acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" + acl_hardcode_direct="$acl_cv_hardcode_direct" + acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" + # Check whether --enable-rpath was given. +if test "${enable_rpath+set}" = set; then : + enableval=$enable_rpath; : +else + enable_rpath=yes +fi + + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking 32-bit host C ABI" >&5 +$as_echo_n "checking 32-bit host C ABI... " >&6; } +if ${gl_cv_host_cpu_c_abi_32bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$gl_cv_host_cpu_c_abi"; then + case "$gl_cv_host_cpu_c_abi" in + i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) + gl_cv_host_cpu_c_abi_32bit=yes ;; + *) + gl_cv_host_cpu_c_abi_32bit=no ;; + esac + else + case "$host_cpu" in + + i[4567]86 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + x86_64 ) + # On x86_64 systems, the C compiler may be generating code in one of + # these ABIs: + # - 64-bit instruction set, 64-bit pointers, 64-bit 'long': x86_64. + # - 64-bit instruction set, 64-bit pointers, 32-bit 'long': x86_64 + # with native Windows (mingw, MSVC). + # - 64-bit instruction set, 32-bit pointers, 32-bit 'long': x86_64-x32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': i386. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if (defined __x86_64__ || defined __amd64__ \ + || defined _M_X64 || defined _M_AMD64) \ + && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + arm* | aarch64 ) + # Assume arm with EABI. + # On arm64 systems, the C compiler may be generating code in one of + # these ABIs: + # - aarch64 instruction set, 64-bit pointers, 64-bit 'long': arm64. + # - aarch64 instruction set, 32-bit pointers, 32-bit 'long': arm64-ilp32. + # - 32-bit instruction set, 32-bit pointers, 32-bit 'long': arm or armhf. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __aarch64__ && !(defined __ILP32__ || defined _ILP32) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + hppa1.0 | hppa1.1 | hppa2.0* | hppa64 ) + # On hppa, the C compiler may be generating 32-bit code or 64-bit + # code. In the latter case, it defines _LP64 and __LP64__. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + ia64* ) + # On ia64 on HP-UX, the C compiler may be generating 64-bit code or + # 32-bit code. In the latter case, it defines _ILP32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _ILP32 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=yes +else + gl_cv_host_cpu_c_abi_32bit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + mips* ) + # We should also check for (_MIPS_SZPTR == 64), but gcc keeps this + # at 32. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined _MIPS_SZLONG && (_MIPS_SZLONG == 64) + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + powerpc* ) + # Different ABIs are in use on AIX vs. Mac OS X vs. Linux,*BSD. + # No need to distinguish them here; the caller may distinguish + # them based on the OS. + # On powerpc64 systems, the C compiler may still be generating + # 32-bit code. And on powerpc-ibm-aix systems, the C compiler may + # be generating 64-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __powerpc64__ || defined _ARCH_PPC64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + rs6000 ) + gl_cv_host_cpu_c_abi_32bit=yes + ;; + + riscv32 | riscv64 ) + # There are 6 ABIs: ilp32, ilp32f, ilp32d, lp64, lp64f, lp64d. + # Size of 'long' and 'void *': + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + s390* ) + # On s390x, the C compiler may be generating 64-bit (= s390x) code + # or 31-bit (= s390) code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __LP64__ || defined __s390x__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + sparc | sparc64 ) + # UltraSPARCs running Linux have `uname -m` = "sparc64", but the + # C compiler still generates 32-bit code. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __sparcv9 || defined __arch64__ + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_host_cpu_c_abi_32bit=no +else + gl_cv_host_cpu_c_abi_32bit=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ;; + + *) + gl_cv_host_cpu_c_abi_32bit=no + ;; + esac + fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_host_cpu_c_abi_32bit" >&5 +$as_echo "$gl_cv_host_cpu_c_abi_32bit" >&6; } + + HOST_CPU_C_ABI_32BIT="$gl_cv_host_cpu_c_abi_32bit" + + + + + + case "$host_os" in + solaris*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 +$as_echo_n "checking for 64-bit host... " >&6; } +if ${gl_cv_solaris_64bit+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef _LP64 + int ok; + #else + error fail + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + gl_cv_solaris_64bit=yes +else + gl_cv_solaris_64bit=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 +$as_echo "$gl_cv_solaris_64bit" >&6; };; + esac + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the common suffixes of directories in the library search path" >&5 +$as_echo_n "checking for the common suffixes of directories in the library search path... " >&6; } +if ${acl_cv_libdirstems+:} false; then : + $as_echo_n "(cached) " >&6 +else + acl_libdirstem=lib + acl_libdirstem2= + case "$host_os" in + solaris*) + if test $gl_cv_solaris_64bit = yes; then + acl_libdirstem=lib/64 + case "$host_cpu" in + sparc*) acl_libdirstem2=lib/sparcv9 ;; + i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; + esac + fi + ;; + *) + if test "$HOST_CPU_C_ABI_32BIT" != yes; then + searchpath=`(if test -f /usr/bin/gcc \ + && LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \ + LC_ALL=C /usr/bin/gcc -print-search-dirs; \ + else \ + LC_ALL=C $CC -print-search-dirs; \ + fi) 2>/dev/null \ + | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` + if test -n "$searchpath"; then + acl_save_IFS="${IFS= }"; IFS=":" + for searchdir in $searchpath; do + if test -d "$searchdir"; then + case "$searchdir" in + */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; + */../ | */.. ) + # Better ignore directories of this form. They are misleading. + ;; + *) searchdir=`cd "$searchdir" && pwd` + case "$searchdir" in + */lib64 ) acl_libdirstem=lib64 ;; + esac ;; + esac + fi + done + IFS="$acl_save_IFS" + fi + fi + ;; + esac + test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" + acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_libdirstems" >&5 +$as_echo "$acl_cv_libdirstems" >&6; } + # Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2. + acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'` + acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'` + + @@ -47759,7 +47587,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by man-db $as_me 2.8.6.1, which was +This file was extended by man-db $as_me 2.8.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -47825,7 +47653,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -man-db config.status 2.8.6.1 +man-db config.status 2.8.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index ca12c0a5..a98704da 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script. m4_pattern_forbid([^MAN_]) # Initialise and check we're in the correct directory. -AC_INIT([man-db], [2.8.6.1], [cjwatson@debian.org]) +AC_INIT([man-db], [2.8.7], [cjwatson@debian.org]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([1.11 -Wall -Wno-override -Werror foreign dist-xz no-dist-gzip parallel-tests]) AM_MAINTAINER_MODE @@ -16,7 +16,7 @@ AC_CONFIG_HEADER([config.h]) AC_CANONICAL_HOST # Define below date and version information to be put into man pages etc. -date=2019-08-05 +date=2019-08-26 AC_SUBST([date])dnl roff_version=`echo AC_PACKAGE_VERSION | sed 's/-/\\-/g'` AC_SUBST([roff_version])dnl @@ -60,25 +60,21 @@ case $host_os in dnl environment: CFLAGS="$CFLAGS -YPOSIX" ;; - *darwin*) - dnl libman intentionally has an undefined "sandbox" symbol - dnl which is supplied by each application. The Darwin - dnl linker refuses to do this by default, and needs some - dnl help. - CFLAGS="$CFLAGS -Wl,-flat_namespace,-undefined,suppress" - ;; esac -if test "$GCC" = yes -then - gl_WARN_ADD([-W]) - gl_WARN_ADD([-Wpointer-arith]) - gl_WARN_ADD([-Wwrite-strings]) - gl_WARN_ADD([-Wstrict-prototypes]) - gl_WARN_ADD([-Wshadow]) - gl_WARN_ADD([-Wformat-security]) - gl_WARN_ADD([-Wredundant-decls]) - gl_WARN_ADD([-Wno-missing-field-initializers]) -fi + +# Enable all reasonable GCC warnings. +gl_MANYWARN_ALL_GCC([warnings]) +nw= +nw="$nw -Wsystem-headers" +nw="$nw -Wmissing-field-initializers" +gl_MANYWARN_COMPLEMENT([warnings], [$warnings], [$nw]) +for w in $warnings; do + gl_WARN_ADD([$w]) +done +gl_WARN_ADD([-Wno-missing-field-initializers]) +# Disable use of VLAs by Gnulib to avoid tripping over -Wvla. +AC_DEFINE([GNULIB_NO_VLA], [1], [Define to 1 to disable use of VLAs.]) + AC_PROG_INSTALL AC_PROG_LN_S AM_PROG_AR diff --git a/docs/Makefile.in b/docs/Makefile.in index c790b81d..1079ec35 100644 --- a/docs/Makefile.in +++ b/docs/Makefile.in @@ -183,6 +183,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -355,6 +356,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -562,6 +564,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -636,6 +639,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -643,6 +647,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -724,6 +729,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -746,6 +752,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -796,6 +803,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -815,6 +823,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -915,8 +924,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -939,7 +946,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1085,6 +1091,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1133,6 +1140,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1146,6 +1154,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1166,6 +1175,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/docs/man-db.lsm b/docs/man-db.lsm index c0881949..a1a39247 100644 --- a/docs/man-db.lsm +++ b/docs/man-db.lsm @@ -1,7 +1,7 @@ Begin4 Title: man-db -Version: 2.8.6.1 -Entered-date: 2019-08-05 +Version: 2.8.7 +Entered-date: 2019-08-26 Description: This package provides the man command. This utility is the primary way of examining the on-line help files (manual pages). Other utilities provided include the @@ -19,7 +19,7 @@ Author: jwe@che.utexas.edu (John W Eaton) cjwatson@debian.org (Colin Watson) Maintained-by: cjwatson@debian.org (Colin Watson) Primary-site: https://savannah.nongnu.org/download/man-db/ - 1.8M man-db-2.8.6.1.tar.xz + 1.8M man-db-2.8.7.tar.xz Alternate-site: http://ftp.debian.org/debian/pool/main/m/man-db/ Platforms: Requires GNU groff 1.16. Optionally uses GDBM or Berkeley DB (any version with 1.85 diff --git a/gl/lib/Makefile.am b/gl/lib/Makefile.am index 2bb6646e..026abc54 100644 --- a/gl/lib/Makefile.am +++ b/gl/lib/Makefile.am @@ -63,6 +63,7 @@ # linkedhash-list \ # localcharset \ # lock \ +# manywarnings \ # memmem \ # minmax \ # mkdtemp \ @@ -165,7 +166,7 @@ if GL_GENERATE_ALLOCA_H alloca.h: alloca.in.h $(top_builddir)/config.status $(AM_V_GEN)rm -f $@-t $@ && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/alloca.in.h; \ + sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(srcdir)/alloca.in.h; \ } > $@-t && \ mv -f $@-t $@ else @@ -1946,6 +1947,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ @@ -1959,7 +1961,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ + -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \ -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \ + -e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ @@ -1977,8 +1981,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ + -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \ -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ @@ -1987,6 +1993,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ @@ -1994,11 +2001,14 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ + -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ + -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ @@ -2673,6 +2683,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ @@ -2723,6 +2734,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ @@ -3094,6 +3106,42 @@ EXTRA_DIST += wctype.in.h ## end gnulib module wctype-h +## begin gnulib module windows-mutex + + +EXTRA_DIST += windows-initguard.h windows-mutex.c windows-mutex.h + +EXTRA_libgnu_la_SOURCES += windows-mutex.c + +## end gnulib module windows-mutex + +## begin gnulib module windows-once + + +EXTRA_DIST += windows-once.c windows-once.h + +EXTRA_libgnu_la_SOURCES += windows-once.c + +## end gnulib module windows-once + +## begin gnulib module windows-recmutex + + +EXTRA_DIST += windows-initguard.h windows-recmutex.c windows-recmutex.h + +EXTRA_libgnu_la_SOURCES += windows-recmutex.c + +## end gnulib module windows-recmutex + +## begin gnulib module windows-rwlock + + +EXTRA_DIST += windows-initguard.h windows-rwlock.c windows-rwlock.h + +EXTRA_libgnu_la_SOURCES += windows-rwlock.c + +## end gnulib module windows-rwlock + ## begin gnulib module xalloc libgnu_la_SOURCES += xmalloc.c diff --git a/gl/lib/Makefile.in b/gl/lib/Makefile.in index 3433fb81..0141c197 100644 --- a/gl/lib/Makefile.in +++ b/gl/lib/Makefile.in @@ -77,6 +77,7 @@ # linkedhash-list \ # localcharset \ # lock \ +# manywarnings \ # memmem \ # minmax \ # mkdtemp \ @@ -283,6 +284,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -499,7 +501,9 @@ am__depfiles_remade = ./$(DEPDIR)/alloca.Plo \ ./$(DEPDIR)/utime.Plo ./$(DEPDIR)/utimens.Plo \ ./$(DEPDIR)/vasnprintf.Plo ./$(DEPDIR)/vasprintf.Plo \ ./$(DEPDIR)/vsnprintf.Plo ./$(DEPDIR)/wcrtomb.Plo \ - ./$(DEPDIR)/wctype-h.Plo ./$(DEPDIR)/xalloc-die.Plo \ + ./$(DEPDIR)/wctype-h.Plo ./$(DEPDIR)/windows-mutex.Plo \ + ./$(DEPDIR)/windows-once.Plo ./$(DEPDIR)/windows-recmutex.Plo \ + ./$(DEPDIR)/windows-rwlock.Plo ./$(DEPDIR)/xalloc-die.Plo \ ./$(DEPDIR)/xasprintf.Plo ./$(DEPDIR)/xgetcwd.Plo \ ./$(DEPDIR)/xmalloc.Plo ./$(DEPDIR)/xsize.Plo \ ./$(DEPDIR)/xstdopen.Plo ./$(DEPDIR)/xstrndup.Plo \ @@ -665,6 +669,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -872,6 +877,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -946,6 +952,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -953,6 +960,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -1034,6 +1042,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -1056,6 +1065,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1106,6 +1116,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1125,6 +1136,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1225,8 +1237,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1249,7 +1259,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1395,6 +1404,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1443,6 +1453,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1456,6 +1467,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1476,6 +1488,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ @@ -1717,8 +1730,11 @@ EXTRA_DIST = alloca.c alloca.in.h areadlink.h assure.h openat-priv.h \ utime.in.h utimens.h asnprintf.c float+.h printf-args.c \ printf-args.h printf-parse.c printf-parse.h vasnprintf.c \ vasnprintf.h asprintf.c vasprintf.c verify.h vsnprintf.c \ - wchar.in.h wcrtomb.c wctype.in.h xalloc.h xalloc-oversized.h \ - xgetcwd.h xstdopen.h xalloc.h + wchar.in.h wcrtomb.c wctype.in.h windows-initguard.h \ + windows-mutex.c windows-mutex.h windows-once.c windows-once.h \ + windows-initguard.h windows-recmutex.c windows-recmutex.h \ + windows-initguard.h windows-rwlock.c windows-rwlock.h xalloc.h \ + xalloc-oversized.h xgetcwd.h xstdopen.h xalloc.h BUILT_SOURCES = $(ALLOCA_H) dirent.h $(ERRNO_H) fcntl.h $(FLOAT_H) \ $(FNMATCH_H) $(GETOPT_H) $(GETOPT_CDEFS_H) $(GLOB_H) \ langinfo.h $(LIMITS_H) locale.h signal.h $(STDALIGN_H) \ @@ -1802,7 +1818,8 @@ EXTRA_libgnu_la_SOURCES = alloca.c openat-proc.c btowc.c \ strncasecmp.c strcasestr.c strchrnul.c strdup.c strerror.c \ strerror-override.c strndup.c strnlen.c strsep.c unsetenv.c \ utime.c asnprintf.c printf-args.c printf-parse.c vasnprintf.c \ - asprintf.c vasprintf.c vsnprintf.c wcrtomb.c + asprintf.c vasprintf.c vsnprintf.c wcrtomb.c windows-mutex.c \ + windows-once.c windows-recmutex.c windows-rwlock.c libgnu_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined $(LIBSOCKET) \ $(LIB_CLOCK_GETTIME) $(LIB_GETLOGIN) $(LIB_NANOSLEEP) \ $(LIB_SELECT) $(LTLIBINTL) $(LTLIBTHREAD) @@ -2084,6 +2101,10 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vsnprintf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wcrtomb.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wctype-h.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/windows-mutex.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/windows-once.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/windows-recmutex.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/windows-rwlock.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xalloc-die.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xasprintf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xgetcwd.Plo@am__quote@ # am--include-marker @@ -2514,6 +2535,10 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/vsnprintf.Plo -rm -f ./$(DEPDIR)/wcrtomb.Plo -rm -f ./$(DEPDIR)/wctype-h.Plo + -rm -f ./$(DEPDIR)/windows-mutex.Plo + -rm -f ./$(DEPDIR)/windows-once.Plo + -rm -f ./$(DEPDIR)/windows-recmutex.Plo + -rm -f ./$(DEPDIR)/windows-rwlock.Plo -rm -f ./$(DEPDIR)/xalloc-die.Plo -rm -f ./$(DEPDIR)/xasprintf.Plo -rm -f ./$(DEPDIR)/xgetcwd.Plo @@ -2741,6 +2766,10 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/vsnprintf.Plo -rm -f ./$(DEPDIR)/wcrtomb.Plo -rm -f ./$(DEPDIR)/wctype-h.Plo + -rm -f ./$(DEPDIR)/windows-mutex.Plo + -rm -f ./$(DEPDIR)/windows-once.Plo + -rm -f ./$(DEPDIR)/windows-recmutex.Plo + -rm -f ./$(DEPDIR)/windows-rwlock.Plo -rm -f ./$(DEPDIR)/xalloc-die.Plo -rm -f ./$(DEPDIR)/xasprintf.Plo -rm -f ./$(DEPDIR)/xgetcwd.Plo @@ -2798,7 +2827,7 @@ uninstall-am: @GL_GENERATE_ALLOCA_H_TRUE@alloca.h: alloca.in.h $(top_builddir)/config.status @GL_GENERATE_ALLOCA_H_TRUE@ $(AM_V_GEN)rm -f $@-t $@ && \ @GL_GENERATE_ALLOCA_H_TRUE@ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ -@GL_GENERATE_ALLOCA_H_TRUE@ cat $(srcdir)/alloca.in.h; \ +@GL_GENERATE_ALLOCA_H_TRUE@ sed -e 's|@''HAVE_ALLOCA_H''@|$(HAVE_ALLOCA_H)|g' < $(srcdir)/alloca.in.h; \ @GL_GENERATE_ALLOCA_H_TRUE@ } > $@-t && \ @GL_GENERATE_ALLOCA_H_TRUE@ mv -f $@-t $@ @GL_GENERATE_ALLOCA_H_FALSE@alloca.h: $(top_builddir)/config.status @@ -3338,6 +3367,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \ -e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \ -e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \ + -e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \ -e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \ -e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \ -e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \ @@ -3351,7 +3381,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ + -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \ -e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \ + -e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \ -e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \ -e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \ -e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \ @@ -3369,8 +3401,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \ -e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \ -e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \ + -e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \ -e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \ -e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \ + -e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \ -e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \ -e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \ -e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \ @@ -3379,6 +3413,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ -e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ + -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ -e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ @@ -3386,11 +3421,14 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ + -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \ -e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \ -e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \ + -e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \ -e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \ + -e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \ -e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \ -e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ @@ -3811,6 +3849,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \ -e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \ -e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \ + -e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \ -e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \ -e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \ -e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \ @@ -3861,6 +3900,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \ < $(srcdir)/unistd.in.h | \ sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ diff --git a/gl/lib/_Noreturn.h b/gl/lib/_Noreturn.h index 94fdfaf0..db9b4555 100644 --- a/gl/lib/_Noreturn.h +++ b/gl/lib/_Noreturn.h @@ -1,8 +1,27 @@ +/* A C macro for declaring that a function does not return. + Copyright (C) 2011-2019 Free Software Foundation, Inc. + + This program is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ + #ifndef _Noreturn -# if 201103 <= (defined __cplusplus ? __cplusplus : 0) +# if (defined __cplusplus \ + && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ + || (defined _MSC_VER && 1900 <= _MSC_VER))) # define _Noreturn [[noreturn]] -# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)) +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) /* _Noreturn works as-is. */ # elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) diff --git a/gl/lib/alloca.c b/gl/lib/alloca.c index ee0f0188..d0476d53 100644 --- a/gl/lib/alloca.c +++ b/gl/lib/alloca.c @@ -350,16 +350,16 @@ i00afunc (long *address) /* There must be at least one stack segment. Therefore it is a fatal error if "trailer" is null. */ - if (trailer == 0) + if (trailer == NULL) abort (); /* Discard segments that do not contain our argument address. */ - while (trailer != 0) + while (trailer != NULL) { block = (long *) trailer->this_address; size = trailer->this_size; - if (block == 0 || size == 0) + if (block == NULL || size == 0) abort (); trailer = (struct stk_trailer *) trailer->link; if ((block <= address) && (address < (block + size))) @@ -371,7 +371,7 @@ i00afunc (long *address) result = address - block; - if (trailer == 0) + if (trailer == NULL) { return result; } @@ -383,7 +383,7 @@ i00afunc (long *address) result += trailer->this_size; trailer = (struct stk_trailer *) trailer->link; } - while (trailer != 0); + while (trailer != NULL); /* We are done. Note that if you present a bogus address (one not in any segment), you will get a different number back, formed diff --git a/gl/lib/alloca.in.h b/gl/lib/alloca.in.h index ec81e119..a581d58f 100644 --- a/gl/lib/alloca.in.h +++ b/gl/lib/alloca.in.h @@ -36,6 +36,12 @@ #ifndef alloca # ifdef __GNUC__ + /* Some version of mingw have an <alloca.h> that causes trouble when + included after 'alloca' gets defined as a macro. As a workaround, include + this <alloca.h> first and define 'alloca' as a macro afterwards. */ +# if (defined _WIN32 && ! defined __CYGWIN__) && @HAVE_ALLOCA_H@ +# include_next <alloca.h> +# endif # define alloca __builtin_alloca # elif defined _AIX # define alloca __alloca diff --git a/gl/lib/areadlink-with-size.c b/gl/lib/areadlink-with-size.c index eacad3f6..95a28b31 100644 --- a/gl/lib/areadlink-with-size.c +++ b/gl/lib/areadlink-with-size.c @@ -26,6 +26,7 @@ #include <limits.h> #include <stdint.h> #include <stdlib.h> +#include <string.h> #include <unistd.h> #ifndef SSIZE_MAX @@ -60,18 +61,28 @@ areadlink_with_size (char const *file, size_t size) ? symlink_max + 1 : INITIAL_LIMIT_BOUND); + enum { stackbuf_size = 128 }; + /* The initial buffer size for the link value. */ - size_t buf_size = size < initial_limit ? size + 1 : initial_limit; + size_t buf_size = (size == 0 ? stackbuf_size + : size < initial_limit ? size + 1 : initial_limit); while (1) { ssize_t r; size_t link_length; - char *buffer = malloc (buf_size); + char stackbuf[stackbuf_size]; + char *buf = stackbuf; + char *buffer = NULL; + + if (! (size == 0 && buf_size == stackbuf_size)) + { + buf = buffer = malloc (buf_size); + if (!buffer) + return NULL; + } - if (buffer == NULL) - return NULL; - r = readlink (file, buffer, buf_size); + r = readlink (file, buf, buf_size); link_length = r; /* On AIX 5L v5.3 and HP-UX 11i v2 04/09, readlink returns -1 @@ -86,7 +97,20 @@ areadlink_with_size (char const *file, size_t size) if (link_length < buf_size) { - buffer[link_length] = 0; + buf[link_length] = 0; + if (!buffer) + { + buffer = malloc (link_length + 1); + if (buffer) + return memcpy (buffer, buf, link_length + 1); + } + else if (link_length + 1 < buf_size) + { + /* Shrink BUFFER before returning it. */ + char *shrinked_buffer = realloc (buffer, link_length + 1); + if (shrinked_buffer != NULL) + buffer = shrinked_buffer; + } return buffer; } diff --git a/gl/lib/bitrotate.h b/gl/lib/bitrotate.h index 862331e2..04b90836 100644 --- a/gl/lib/bitrotate.h +++ b/gl/lib/bitrotate.h @@ -95,7 +95,8 @@ rotr_sz (size_t x, int n) BITROTATE_INLINE uint16_t rotl16 (uint16_t x, int n) { - return ((x << n) | (x >> (16 - n))) & UINT16_MAX; + return (((unsigned int) x << n) | ((unsigned int) x >> (16 - n))) + & UINT16_MAX; } /* Given an unsigned 16-bit argument X, return the value corresponding @@ -106,7 +107,8 @@ rotl16 (uint16_t x, int n) BITROTATE_INLINE uint16_t rotr16 (uint16_t x, int n) { - return ((x >> n) | (x << (16 - n))) & UINT16_MAX; + return (((unsigned int) x >> n) | ((unsigned int) x << (16 - n))) + & UINT16_MAX; } /* Given an unsigned 8-bit argument X, return the value corresponding @@ -117,7 +119,7 @@ rotr16 (uint16_t x, int n) BITROTATE_INLINE uint8_t rotl8 (uint8_t x, int n) { - return ((x << n) | (x >> (8 - n))) & UINT8_MAX; + return (((unsigned int) x << n) | ((unsigned int) x >> (8 - n))) & UINT8_MAX; } /* Given an unsigned 8-bit argument X, return the value corresponding @@ -128,7 +130,7 @@ rotl8 (uint8_t x, int n) BITROTATE_INLINE uint8_t rotr8 (uint8_t x, int n) { - return ((x >> n) | (x << (8 - n))) & UINT8_MAX; + return (((unsigned int) x >> n) | ((unsigned int) x << (8 - n))) & UINT8_MAX; } _GL_INLINE_HEADER_END diff --git a/gl/lib/canonicalize.h b/gl/lib/canonicalize.h index 2ffa1f68..6d127b9f 100644 --- a/gl/lib/canonicalize.h +++ b/gl/lib/canonicalize.h @@ -21,6 +21,10 @@ #define CAN_MODE_MASK (CAN_EXISTING | CAN_ALL_BUT_LAST | CAN_MISSING) +#ifdef __cplusplus +extern "C" { +#endif + enum canonicalize_mode_t { /* All components must exist. */ @@ -45,4 +49,8 @@ typedef enum canonicalize_mode_t canonicalize_mode_t; The result is malloc'd. */ char *canonicalize_filename_mode (const char *, canonicalize_mode_t); +#ifdef __cplusplus +} +#endif + #endif /* !CANONICALIZE_H_ */ diff --git a/gl/lib/error.c b/gl/lib/error.c index 7e532f0e..f8ab6689 100644 --- a/gl/lib/error.c +++ b/gl/lib/error.c @@ -119,7 +119,7 @@ int strerror_r (int errnum, char *buf, size_t buflen); # endif # endif -#define program_name getprogname () +# define program_name getprogname () # if GNULIB_STRERROR_R_POSIX || HAVE_STRERROR_R || defined strerror_r # define __strerror_r strerror_r diff --git a/gl/lib/fcntl.c b/gl/lib/fcntl.c index 51f62ef7..a3ffaa6e 100644 --- a/gl/lib/fcntl.c +++ b/gl/lib/fcntl.c @@ -25,6 +25,7 @@ #include <errno.h> #include <limits.h> #include <stdarg.h> +#include <stdlib.h> #include <unistd.h> #ifdef __KLIBC__ diff --git a/gl/lib/flexmember.h b/gl/lib/flexmember.h index 0d65f6da..af17b41d 100644 --- a/gl/lib/flexmember.h +++ b/gl/lib/flexmember.h @@ -33,11 +33,26 @@ # define FLEXALIGNOF(type) _Alignof (type) #endif -/* Upper bound on the size of a struct of type TYPE with a flexible - array member named MEMBER that is followed by N bytes of other data. - This is not simply sizeof (TYPE) + N, since it may require - alignment on unusually picky C11 platforms, and - FLEXIBLE_ARRAY_MEMBER may be 1 on pre-C11 platforms. +/* Yield a properly aligned upper bound on the size of a struct of + type TYPE with a flexible array member named MEMBER that is + followed by N bytes of other data. The result is suitable as an + argument to malloc. For example: + + struct s { int n; char d[FLEXIBLE_ARRAY_MEMBER]; }; + struct s *p = malloc (FLEXSIZEOF (struct s, d, n * sizeof (char))); + + FLEXSIZEOF (TYPE, MEMBER, N) is not simply (sizeof (TYPE) + N), + since FLEXIBLE_ARRAY_MEMBER may be 1 on pre-C11 platforms. Nor is + it simply (offsetof (TYPE, MEMBER) + N), as that might yield a size + that causes malloc to yield a pointer that is not properly aligned + for TYPE; for example, if sizeof (int) == alignof (int) == 4, + malloc (offsetof (struct s, d) + 3 * sizeof (char)) is equivalent + to malloc (7) and might yield a pointer that is not a multiple of 4 + (which means the pointer is not properly aligned for struct s), + whereas malloc (FLEXSIZEOF (struct s, d, 3 * sizeof (char))) is + equivalent to malloc (8) and must yield a pointer that is a + multiple of 4. + Yield a value less than N if and only if arithmetic overflow occurs. */ #define FLEXSIZEOF(type, member, n) \ diff --git a/gl/lib/fstat.c b/gl/lib/fstat.c index 4f0e6188..a892b8ff 100644 --- a/gl/lib/fstat.c +++ b/gl/lib/fstat.c @@ -40,10 +40,14 @@ orig_fstat (int fd, struct stat *buf) #endif /* Specification. */ +#ifdef __osf__ /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ -#include "sys/stat.h" +# include "sys/stat.h" +#else +# include <sys/stat.h> +#endif #include "stat-time.h" diff --git a/gl/lib/fstatat.c b/gl/lib/fstatat.c index 515b5693..db864da7 100644 --- a/gl/lib/fstatat.c +++ b/gl/lib/fstatat.c @@ -36,15 +36,20 @@ orig_fstatat (int fd, char const *filename, struct stat *buf, int flags) } #endif +#ifdef __osf__ /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ -#include "sys/stat.h" +# include "sys/stat.h" +#else +# include <sys/stat.h> +#endif #include "stat-time.h" #include <errno.h> #include <fcntl.h> +#include <stdlib.h> #include <string.h> #if HAVE_FSTATAT && HAVE_WORKING_FSTATAT_ZERO_FLAG diff --git a/gl/lib/getcwd-lgpl.c b/gl/lib/getcwd-lgpl.c index b224cfc9..1eaac78b 100644 --- a/gl/lib/getcwd-lgpl.c +++ b/gl/lib/getcwd-lgpl.c @@ -115,10 +115,15 @@ rpl_getcwd (char *buf, size_t size) } else { - /* Trim to fit, if possible. */ - result = realloc (buf, strlen (buf) + 1); - if (!result) - result = buf; + /* Here result == buf. */ + /* Shrink result before returning it. */ + size_t actual_size = strlen (result) + 1; + if (actual_size < size) + { + char *shrinked_result = realloc (result, actual_size); + if (shrinked_result != NULL) + result = shrinked_result; + } } return result; } diff --git a/gl/lib/getcwd.c b/gl/lib/getcwd.c index 41eedb70..bf878092 100644 --- a/gl/lib/getcwd.c +++ b/gl/lib/getcwd.c @@ -79,6 +79,10 @@ # define MATCHING_INO(dp, ino) true #endif +#if HAVE_MSVC_INVALID_PARAMETER_HANDLER +# include "msvc-inval.h" +#endif + #if !_LIBC # define __getcwd rpl_getcwd # define __lstat lstat @@ -100,6 +104,34 @@ # undef closedir #endif +#ifdef _MSC_VER +# if HAVE_MSVC_INVALID_PARAMETER_HANDLER +static char * +getcwd_nothrow (char *buf, size_t size) +{ + char *result; + + TRY_MSVC_INVAL + { + result = _getcwd (buf, size); + } + CATCH_MSVC_INVAL + { + result = NULL; + errno = ERANGE; + } + DONE_MSVC_INVAL; + + return result; +} +# else +# define getcwd_nothrow _getcwd +# endif +# define getcwd_system getcwd_nothrow +#else +# define getcwd_system getcwd +#endif + /* Get the name of the current working directory, and put it in SIZE bytes of BUF. Returns NULL if the directory couldn't be determined or SIZE was too small. If successful, returns BUF. In GNU, if BUF is @@ -155,7 +187,7 @@ __getcwd (char *buf, size_t size) this wrong result with errno = 0. */ # undef getcwd - dir = getcwd (buf, size); + dir = getcwd_system (buf, size); if (dir || (size && errno == ERANGE)) return dir; @@ -166,7 +198,7 @@ __getcwd (char *buf, size_t size) if (errno == EINVAL && buf == NULL && size == 0) { char big_buffer[BIG_FILE_NAME_LENGTH + 1]; - dir = getcwd (big_buffer, sizeof big_buffer); + dir = getcwd_system (big_buffer, sizeof big_buffer); if (dir) return strdup (dir); } @@ -411,7 +443,7 @@ __getcwd (char *buf, size_t size) if (size == 0) /* Ensure that the buffer is only as large as necessary. */ - buf = realloc (dir, used); + buf = (used < allocated ? realloc (dir, used) : dir); if (buf == NULL) /* Either buf was NULL all along, or 'realloc' failed but diff --git a/gl/lib/getprogname.c b/gl/lib/getprogname.c index 96fa7596..de8f49a1 100644 --- a/gl/lib/getprogname.c +++ b/gl/lib/getprogname.c @@ -70,10 +70,10 @@ getprogname (void) p = "?"; return last_component (p); # elif HAVE_DECL___ARGV /* mingw, MSVC */ - /* https://msdn.microsoft.com/en-us/library/dn727674.aspx */ + /* https://docs.microsoft.com/en-us/cpp/c-runtime-library/argc-argv-wargv */ const char *p = __argv && __argv[0] ? __argv[0] : "?"; return last_component (p); -# elif HAVE_VAR___PROGNAME /* OpenBSD, QNX */ +# elif HAVE_VAR___PROGNAME /* OpenBSD, Android, QNX */ /* https://man.openbsd.org/style.9 */ /* http://www.qnx.de/developers/docs/6.5.0/index.jsp?topic=%2Fcom.qnx.doc.neutrino_lib_ref%2Fp%2F__progname.html */ /* Be careful to declare this only when we absolutely need it @@ -82,7 +82,11 @@ getprogname (void) malfunction (have zero length) with Fedora 25's glibc. */ extern char *__progname; const char *p = __progname; +# if defined __ANDROID__ + return last_component (p); +# else return p && p[0] ? p : "?"; +# endif # elif _AIX /* AIX */ /* Idea by Bastien ROUCARIÈS, https://lists.gnu.org/r/bug-gnulib/2010-12/msg00095.html @@ -229,12 +233,13 @@ getprogname (void) { char *name = buf.pr_fname; size_t namesize = sizeof buf.pr_fname; + /* It may not be NUL-terminated. */ char *namenul = memchr (name, '\0', namesize); size_t namelen = namenul ? namenul - name : namesize; char *namecopy = malloc (namelen + 1); if (namecopy) { - namecopy[namelen] = 0; + namecopy[namelen] = '\0'; return memcpy (namecopy, name, namelen); } } diff --git a/gl/lib/gettimeofday.c b/gl/lib/gettimeofday.c index 360cdc4d..e728bf47 100644 --- a/gl/lib/gettimeofday.c +++ b/gl/lib/gettimeofday.c @@ -72,10 +72,10 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz) /* On native Windows, there are two ways to get the current time: GetSystemTimeAsFileTime - <https://msdn.microsoft.com/en-us/library/ms724397.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime> or GetSystemTimePreciseAsFileTime - <https://msdn.microsoft.com/en-us/library/hh706895.aspx>. + <https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime>. GetSystemTimeAsFileTime produces values that jump by increments of 15.627 milliseconds (!) on average. Whereas GetSystemTimePreciseAsFileTime values usually jump by 1 or 2 @@ -92,7 +92,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz) GetSystemTimeAsFileTime (¤t_time); /* Convert from FILETIME to 'struct timeval'. */ - /* FILETIME: <https://msdn.microsoft.com/en-us/library/ms724284.aspx> */ + /* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */ ULONGLONG since_1601 = ((ULONGLONG) current_time.dwHighDateTime << 32) | (ULONGLONG) current_time.dwLowDateTime; diff --git a/gl/lib/gl_array_list.c b/gl/lib/gl_array_list.c index 4ac743fd..fa8cf1eb 100644 --- a/gl/lib/gl_array_list.c +++ b/gl/lib/gl_array_list.c @@ -20,6 +20,7 @@ /* Specification. */ #include "gl_array_list.h" +#include <stdint.h> #include <stdlib.h> /* Get memcpy. */ #include <string.h> @@ -27,10 +28,6 @@ /* Checked size_t computations. */ #include "xsize.h" -#ifndef uintptr_t -# define uintptr_t unsigned long -#endif - /* -------------------------- gl_list_t Data Type -------------------------- */ /* Concrete gl_list_impl type, valid for this file only. */ diff --git a/gl/lib/gl_hash_map.c b/gl/lib/gl_hash_map.c index 534b472f..ef3224d6 100644 --- a/gl/lib/gl_hash_map.c +++ b/gl/lib/gl_hash_map.c @@ -20,15 +20,11 @@ /* Specification. */ #include "gl_hash_map.h" -#include <stdint.h> /* for SIZE_MAX */ +#include <stdint.h> /* for uintptr_t, SIZE_MAX */ #include <stdlib.h> #include "xsize.h" -#ifndef uintptr_t -# define uintptr_t unsigned long -#endif - /* --------------------------- gl_map_t Data Type --------------------------- */ #include "gl_anyhash1.h" diff --git a/gl/lib/gl_hash_set.c b/gl/lib/gl_hash_set.c index 303d1375..64356e1f 100644 --- a/gl/lib/gl_hash_set.c +++ b/gl/lib/gl_hash_set.c @@ -20,15 +20,11 @@ /* Specification. */ #include "gl_hash_set.h" -#include <stdint.h> /* for SIZE_MAX */ +#include <stdint.h> /* for uintptr_t, SIZE_MAX */ #include <stdlib.h> #include "xsize.h" -#ifndef uintptr_t -# define uintptr_t unsigned long -#endif - /* --------------------------- gl_set_t Data Type --------------------------- */ #include "gl_anyhash1.h" diff --git a/gl/lib/gl_linkedhash_list.c b/gl/lib/gl_linkedhash_list.c index efe4996b..d148d5b5 100644 --- a/gl/lib/gl_linkedhash_list.c +++ b/gl/lib/gl_linkedhash_list.c @@ -20,15 +20,11 @@ /* Specification. */ #include "gl_linkedhash_list.h" -#include <stdint.h> /* for SIZE_MAX */ +#include <stdint.h> /* for uintptr_t, SIZE_MAX */ #include <stdlib.h> #include "xsize.h" -#ifndef uintptr_t -# define uintptr_t unsigned long -#endif - #define WITH_HASHTABLE 1 /* -------------------------- gl_list_t Data Type -------------------------- */ diff --git a/gl/lib/glthread/lock.c b/gl/lib/glthread/lock.c index a4498cbd..fefcd596 100644 --- a/gl/lib/glthread/lock.c +++ b/gl/lib/glthread/lock.c @@ -15,8 +15,7 @@ along with this program; if not, see <https://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2005. - Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, - gthr-win32.h. */ + Based on GCC's gthr-posix.h, gthr-posix95.h. */ #include <config.h> @@ -500,722 +499,8 @@ glthread_once_singlethreaded (pthread_once_t *once_control) /* ========================================================================= */ -#if USE_PTH_THREADS - -/* Use the GNU Pth threads library. */ - -/* -------------------------- gl_lock_t datatype -------------------------- */ - -/* ------------------------- gl_rwlock_t datatype ------------------------- */ - -# if !HAVE_PTH_RWLOCK_ACQUIRE_PREFER_WRITER - -int -glthread_rwlock_init_multithreaded (gl_rwlock_t *lock) -{ - if (!pth_mutex_init (&lock->lock)) - return errno; - if (!pth_cond_init (&lock->waiting_readers)) - return errno; - if (!pth_cond_init (&lock->waiting_writers)) - return errno; - lock->waiting_writers_count = 0; - lock->runcount = 0; - lock->initialized = 1; - return 0; -} - -int -glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock) -{ - if (!lock->initialized) - glthread_rwlock_init_multithreaded (lock); - if (!pth_mutex_acquire (&lock->lock, 0, NULL)) - return errno; - /* Test whether only readers are currently running, and whether the runcount - field will not overflow, and whether no writer is waiting. The latter - condition is because POSIX recommends that "write locks shall take - precedence over read locks", to avoid "writer starvation". */ - while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_readers. */ - if (!pth_cond_await (&lock->waiting_readers, &lock->lock, NULL)) - { - int err = errno; - pth_mutex_release (&lock->lock); - return err; - } - } - lock->runcount++; - return (!pth_mutex_release (&lock->lock) ? errno : 0); -} - -int -glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock) -{ - if (!lock->initialized) - glthread_rwlock_init_multithreaded (lock); - if (!pth_mutex_acquire (&lock->lock, 0, NULL)) - return errno; - /* Test whether no readers or writers are currently running. */ - while (!(lock->runcount == 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_writers. */ - lock->waiting_writers_count++; - if (!pth_cond_await (&lock->waiting_writers, &lock->lock, NULL)) - { - int err = errno; - lock->waiting_writers_count--; - pth_mutex_release (&lock->lock); - return err; - } - lock->waiting_writers_count--; - } - lock->runcount--; /* runcount becomes -1 */ - return (!pth_mutex_release (&lock->lock) ? errno : 0); -} - -int -glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock) -{ - int err; - - if (!lock->initialized) - return EINVAL; - if (!pth_mutex_acquire (&lock->lock, 0, NULL)) - return errno; - if (lock->runcount < 0) - { - /* Drop a writer lock. */ - if (!(lock->runcount == -1)) - { - pth_mutex_release (&lock->lock); - return EINVAL; - } - lock->runcount = 0; - } - else - { - /* Drop a reader lock. */ - if (!(lock->runcount > 0)) - { - pth_mutex_release (&lock->lock); - return EINVAL; - } - lock->runcount--; - } - if (lock->runcount == 0) - { - /* POSIX recommends that "write locks shall take precedence over read - locks", to avoid "writer starvation". */ - if (lock->waiting_writers_count > 0) - { - /* Wake up one of the waiting writers. */ - if (!pth_cond_notify (&lock->waiting_writers, FALSE)) - { - int err = errno; - pth_mutex_release (&lock->lock); - return err; - } - } - else - { - /* Wake up all waiting readers. */ - if (!pth_cond_notify (&lock->waiting_readers, TRUE)) - { - int err = errno; - pth_mutex_release (&lock->lock); - return err; - } - } - } - return (!pth_mutex_release (&lock->lock) ? errno : 0); -} - -int -glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock) -{ - lock->initialized = 0; - return 0; -} - -# endif - -/* --------------------- gl_recursive_lock_t datatype --------------------- */ - -/* -------------------------- gl_once_t datatype -------------------------- */ - -static void -glthread_once_call (void *arg) -{ - void (**gl_once_temp_addr) (void) = (void (**) (void)) arg; - void (*initfunction) (void) = *gl_once_temp_addr; - initfunction (); -} - -int -glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void)) -{ - void (*temp) (void) = initfunction; - return (!pth_once (once_control, glthread_once_call, &temp) ? errno : 0); -} - -int -glthread_once_singlethreaded (pth_once_t *once_control) -{ - /* We know that pth_once_t is an integer type. */ - if (*once_control == PTH_ONCE_INIT) - { - /* First time use of once_control. Invert the marker. */ - *once_control = ~ PTH_ONCE_INIT; - return 1; - } - else - return 0; -} - -#endif - -/* ========================================================================= */ - -#if USE_SOLARIS_THREADS - -/* Use the old Solaris threads library. */ - -/* -------------------------- gl_lock_t datatype -------------------------- */ - -/* ------------------------- gl_rwlock_t datatype ------------------------- */ - -/* --------------------- gl_recursive_lock_t datatype --------------------- */ - -int -glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock) -{ - int err; - - err = mutex_init (&lock->mutex, USYNC_THREAD, NULL); - if (err != 0) - return err; - lock->owner = (thread_t) 0; - lock->depth = 0; - return 0; -} - -int -glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock) -{ - thread_t self = thr_self (); - if (lock->owner != self) - { - int err; - - err = mutex_lock (&lock->mutex); - if (err != 0) - return err; - lock->owner = self; - } - if (++(lock->depth) == 0) /* wraparound? */ - { - lock->depth--; - return EAGAIN; - } - return 0; -} - -int -glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock) -{ - if (lock->owner != thr_self ()) - return EPERM; - if (lock->depth == 0) - return EINVAL; - if (--(lock->depth) == 0) - { - lock->owner = (thread_t) 0; - return mutex_unlock (&lock->mutex); - } - else - return 0; -} - -int -glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock) -{ - if (lock->owner != (thread_t) 0) - return EBUSY; - return mutex_destroy (&lock->mutex); -} - -/* -------------------------- gl_once_t datatype -------------------------- */ - -int -glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void)) -{ - if (!once_control->inited) - { - int err; - - /* Use the mutex to guarantee that if another thread is already calling - the initfunction, this thread waits until it's finished. */ - err = mutex_lock (&once_control->mutex); - if (err != 0) - return err; - if (!once_control->inited) - { - once_control->inited = 1; - initfunction (); - } - return mutex_unlock (&once_control->mutex); - } - else - return 0; -} - -int -glthread_once_singlethreaded (gl_once_t *once_control) -{ - /* We know that gl_once_t contains an integer type. */ - if (!once_control->inited) - { - /* First time use of once_control. Invert the marker. */ - once_control->inited = ~ 0; - return 1; - } - else - return 0; -} - -#endif - -/* ========================================================================= */ - #if USE_WINDOWS_THREADS -/* -------------------------- gl_lock_t datatype -------------------------- */ - -void -glthread_lock_init_func (gl_lock_t *lock) -{ - InitializeCriticalSection (&lock->lock); - lock->guard.done = 1; -} - -int -glthread_lock_lock_func (gl_lock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_lock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } - EnterCriticalSection (&lock->lock); - return 0; -} - -int -glthread_lock_unlock_func (gl_lock_t *lock) -{ - if (!lock->guard.done) - return EINVAL; - LeaveCriticalSection (&lock->lock); - return 0; -} - -int -glthread_lock_destroy_func (gl_lock_t *lock) -{ - if (!lock->guard.done) - return EINVAL; - DeleteCriticalSection (&lock->lock); - lock->guard.done = 0; - return 0; -} - -/* ------------------------- gl_rwlock_t datatype ------------------------- */ - -/* In this file, the waitqueues are implemented as circular arrays. */ -#define gl_waitqueue_t gl_carray_waitqueue_t - -static void -gl_waitqueue_init (gl_waitqueue_t *wq) -{ - wq->array = NULL; - wq->count = 0; - wq->alloc = 0; - wq->offset = 0; -} - -/* Enqueues the current thread, represented by an event, in a wait queue. - Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ -static HANDLE -gl_waitqueue_add (gl_waitqueue_t *wq) -{ - HANDLE event; - unsigned int index; - - if (wq->count == wq->alloc) - { - unsigned int new_alloc = 2 * wq->alloc + 1; - HANDLE *new_array = - (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); - if (new_array == NULL) - /* No more memory. */ - return INVALID_HANDLE_VALUE; - /* Now is a good opportunity to rotate the array so that its contents - starts at offset 0. */ - if (wq->offset > 0) - { - unsigned int old_count = wq->count; - unsigned int old_alloc = wq->alloc; - unsigned int old_offset = wq->offset; - unsigned int i; - if (old_offset + old_count > old_alloc) - { - unsigned int limit = old_offset + old_count - old_alloc; - for (i = 0; i < limit; i++) - new_array[old_alloc + i] = new_array[i]; - } - for (i = 0; i < old_count; i++) - new_array[i] = new_array[old_offset + i]; - wq->offset = 0; - } - wq->array = new_array; - wq->alloc = new_alloc; - } - /* Whether the created event is a manual-reset one or an auto-reset one, - does not matter, since we will wait on it only once. */ - event = CreateEvent (NULL, TRUE, FALSE, NULL); - if (event == INVALID_HANDLE_VALUE) - /* No way to allocate an event. */ - return INVALID_HANDLE_VALUE; - index = wq->offset + wq->count; - if (index >= wq->alloc) - index -= wq->alloc; - wq->array[index] = event; - wq->count++; - return event; -} - -/* Notifies the first thread from a wait queue and dequeues it. */ -static void -gl_waitqueue_notify_first (gl_waitqueue_t *wq) -{ - SetEvent (wq->array[wq->offset + 0]); - wq->offset++; - wq->count--; - if (wq->count == 0 || wq->offset == wq->alloc) - wq->offset = 0; -} - -/* Notifies all threads from a wait queue and dequeues them all. */ -static void -gl_waitqueue_notify_all (gl_waitqueue_t *wq) -{ - unsigned int i; - - for (i = 0; i < wq->count; i++) - { - unsigned int index = wq->offset + i; - if (index >= wq->alloc) - index -= wq->alloc; - SetEvent (wq->array[index]); - } - wq->count = 0; - wq->offset = 0; -} - -void -glthread_rwlock_init_func (gl_rwlock_t *lock) -{ - InitializeCriticalSection (&lock->lock); - gl_waitqueue_init (&lock->waiting_readers); - gl_waitqueue_init (&lock->waiting_writers); - lock->runcount = 0; - lock->guard.done = 1; -} - -int -glthread_rwlock_rdlock_func (gl_rwlock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_rwlock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } - EnterCriticalSection (&lock->lock); - /* Test whether only readers are currently running, and whether the runcount - field will not overflow, and whether no writer is waiting. The latter - condition is because POSIX recommends that "write locks shall take - precedence over read locks", to avoid "writer starvation". */ - if (!(lock->runcount + 1 > 0 && lock->waiting_writers.count == 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_readers. */ - HANDLE event = gl_waitqueue_add (&lock->waiting_readers); - if (event != INVALID_HANDLE_VALUE) - { - DWORD result; - LeaveCriticalSection (&lock->lock); - /* Wait until another thread signals this event. */ - result = WaitForSingleObject (event, INFINITE); - if (result == WAIT_FAILED || result == WAIT_TIMEOUT) - abort (); - CloseHandle (event); - /* The thread which signalled the event already did the bookkeeping: - removed us from the waiting_readers, incremented lock->runcount. */ - if (!(lock->runcount > 0)) - abort (); - return 0; - } - else - { - /* Allocation failure. Weird. */ - do - { - LeaveCriticalSection (&lock->lock); - Sleep (1); - EnterCriticalSection (&lock->lock); - } - while (!(lock->runcount + 1 > 0)); - } - } - lock->runcount++; - LeaveCriticalSection (&lock->lock); - return 0; -} - -int -glthread_rwlock_wrlock_func (gl_rwlock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_rwlock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } - EnterCriticalSection (&lock->lock); - /* Test whether no readers or writers are currently running. */ - if (!(lock->runcount == 0)) - { - /* This thread has to wait for a while. Enqueue it among the - waiting_writers. */ - HANDLE event = gl_waitqueue_add (&lock->waiting_writers); - if (event != INVALID_HANDLE_VALUE) - { - DWORD result; - LeaveCriticalSection (&lock->lock); - /* Wait until another thread signals this event. */ - result = WaitForSingleObject (event, INFINITE); - if (result == WAIT_FAILED || result == WAIT_TIMEOUT) - abort (); - CloseHandle (event); - /* The thread which signalled the event already did the bookkeeping: - removed us from the waiting_writers, set lock->runcount = -1. */ - if (!(lock->runcount == -1)) - abort (); - return 0; - } - else - { - /* Allocation failure. Weird. */ - do - { - LeaveCriticalSection (&lock->lock); - Sleep (1); - EnterCriticalSection (&lock->lock); - } - while (!(lock->runcount == 0)); - } - } - lock->runcount--; /* runcount becomes -1 */ - LeaveCriticalSection (&lock->lock); - return 0; -} - -int -glthread_rwlock_unlock_func (gl_rwlock_t *lock) -{ - if (!lock->guard.done) - return EINVAL; - EnterCriticalSection (&lock->lock); - if (lock->runcount < 0) - { - /* Drop a writer lock. */ - if (!(lock->runcount == -1)) - abort (); - lock->runcount = 0; - } - else - { - /* Drop a reader lock. */ - if (!(lock->runcount > 0)) - { - LeaveCriticalSection (&lock->lock); - return EPERM; - } - lock->runcount--; - } - if (lock->runcount == 0) - { - /* POSIX recommends that "write locks shall take precedence over read - locks", to avoid "writer starvation". */ - if (lock->waiting_writers.count > 0) - { - /* Wake up one of the waiting writers. */ - lock->runcount--; - gl_waitqueue_notify_first (&lock->waiting_writers); - } - else - { - /* Wake up all waiting readers. */ - lock->runcount += lock->waiting_readers.count; - gl_waitqueue_notify_all (&lock->waiting_readers); - } - } - LeaveCriticalSection (&lock->lock); - return 0; -} - -int -glthread_rwlock_destroy_func (gl_rwlock_t *lock) -{ - if (!lock->guard.done) - return EINVAL; - if (lock->runcount != 0) - return EBUSY; - DeleteCriticalSection (&lock->lock); - if (lock->waiting_readers.array != NULL) - free (lock->waiting_readers.array); - if (lock->waiting_writers.array != NULL) - free (lock->waiting_writers.array); - lock->guard.done = 0; - return 0; -} - -/* --------------------- gl_recursive_lock_t datatype --------------------- */ - -void -glthread_recursive_lock_init_func (gl_recursive_lock_t *lock) -{ - lock->owner = 0; - lock->depth = 0; - InitializeCriticalSection (&lock->lock); - lock->guard.done = 1; -} - -int -glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock) -{ - if (!lock->guard.done) - { - if (InterlockedIncrement (&lock->guard.started) == 0) - /* This thread is the first one to need this lock. Initialize it. */ - glthread_recursive_lock_init (lock); - else - /* Yield the CPU while waiting for another thread to finish - initializing this lock. */ - while (!lock->guard.done) - Sleep (0); - } - { - DWORD self = GetCurrentThreadId (); - if (lock->owner != self) - { - EnterCriticalSection (&lock->lock); - lock->owner = self; - } - if (++(lock->depth) == 0) /* wraparound? */ - { - lock->depth--; - return EAGAIN; - } - } - return 0; -} - -int -glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock) -{ - if (lock->owner != GetCurrentThreadId ()) - return EPERM; - if (lock->depth == 0) - return EINVAL; - if (--(lock->depth) == 0) - { - lock->owner = 0; - LeaveCriticalSection (&lock->lock); - } - return 0; -} - -int -glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock) -{ - if (lock->owner != 0) - return EBUSY; - DeleteCriticalSection (&lock->lock); - lock->guard.done = 0; - return 0; -} - -/* -------------------------- gl_once_t datatype -------------------------- */ - -void -glthread_once_func (gl_once_t *once_control, void (*initfunction) (void)) -{ - if (once_control->inited <= 0) - { - if (InterlockedIncrement (&once_control->started) == 0) - { - /* This thread is the first one to come to this once_control. */ - InitializeCriticalSection (&once_control->lock); - EnterCriticalSection (&once_control->lock); - once_control->inited = 0; - initfunction (); - once_control->inited = 1; - LeaveCriticalSection (&once_control->lock); - } - else - { - /* Undo last operation. */ - InterlockedDecrement (&once_control->started); - /* Some other thread has already started the initialization. - Yield the CPU while waiting for the other thread to finish - initializing and taking the lock. */ - while (once_control->inited < 0) - Sleep (0); - if (once_control->inited <= 0) - { - /* Take the lock. This blocks until the other thread has - finished calling the initfunction. */ - EnterCriticalSection (&once_control->lock); - LeaveCriticalSection (&once_control->lock); - if (!(once_control->inited > 0)) - abort (); - } - } - } -} - #endif /* ========================================================================= */ diff --git a/gl/lib/glthread/lock.h b/gl/lib/glthread/lock.h index 636b0895..a92c2a83 100644 --- a/gl/lib/glthread/lock.h +++ b/gl/lib/glthread/lock.h @@ -15,8 +15,7 @@ along with this program; if not, see <https://www.gnu.org/licenses/>. */ /* Written by Bruno Haible <bruno@clisp.org>, 2005. - Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-solaris.h, - gthr-win32.h. */ + Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-win32.h. */ /* This file contains locking primitives for use with a given thread library. It does not contain primitives for creating threads or for other @@ -81,6 +80,16 @@ #include <errno.h> #include <stdlib.h> +#if !defined c11_threads_in_use +# if HAVE_THREADS_H && USE_POSIX_THREADS_WEAK +# include <threads.h> +# pragma weak thrd_exit +# define c11_threads_in_use() (thrd_exit != NULL) +# else +# define c11_threads_in_use() 0 +# endif +#endif + /* ========================================================================= */ #if USE_POSIX_THREADS @@ -156,7 +165,8 @@ extern int glthread_in_use (void); pthread_rwlockattr_init */ # pragma weak pthread_mutexattr_gettype -# define pthread_in_use() (pthread_mutexattr_gettype != NULL) +# define pthread_in_use() \ + (pthread_mutexattr_gettype != NULL || c11_threads_in_use ()) # endif # else @@ -395,290 +405,16 @@ extern int glthread_once_singlethreaded (pthread_once_t *once_control); /* ========================================================================= */ -#if USE_PTH_THREADS - -/* Use the GNU Pth threads library. */ - -# include <pth.h> - -# ifdef __cplusplus -extern "C" { -# endif - -# if USE_PTH_THREADS_WEAK - -/* Use weak references to the GNU Pth threads library. */ - -# pragma weak pth_mutex_init -# pragma weak pth_mutex_acquire -# pragma weak pth_mutex_release -# pragma weak pth_rwlock_init -# pragma weak pth_rwlock_acquire -# pragma weak pth_rwlock_release -# pragma weak pth_once -# pragma weak pth_cond_init -# pragma weak pth_cond_await -# pragma weak pth_cond_notify - -# pragma weak pth_cancel -# define pth_in_use() (pth_cancel != NULL) - -# else - -# define pth_in_use() 1 - -# endif - -/* -------------------------- gl_lock_t datatype -------------------------- */ - -typedef pth_mutex_t gl_lock_t; -# define gl_lock_define(STORAGECLASS, NAME) \ - STORAGECLASS pth_mutex_t NAME; -# define gl_lock_define_initialized(STORAGECLASS, NAME) \ - STORAGECLASS pth_mutex_t NAME = gl_lock_initializer; -# define gl_lock_initializer \ - PTH_MUTEX_INIT -# define glthread_lock_init(LOCK) \ - (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0) -# define glthread_lock_lock(LOCK) \ - (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0) -# define glthread_lock_unlock(LOCK) \ - (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0) -# define glthread_lock_destroy(LOCK) \ - ((void)(LOCK), 0) - -/* ------------------------- gl_rwlock_t datatype ------------------------- */ - -/* Pth pth_rwlock_acquire always prefers readers. No autoconf test so far. */ -# if HAVE_PTH_RWLOCK_ACQUIRE_PREFER_WRITER - -typedef pth_rwlock_t gl_rwlock_t; -# define gl_rwlock_define(STORAGECLASS, NAME) \ - STORAGECLASS pth_rwlock_t NAME; -# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ - STORAGECLASS pth_rwlock_t NAME = gl_rwlock_initializer; -# define gl_rwlock_initializer \ - PTH_RWLOCK_INIT -# define glthread_rwlock_init(LOCK) \ - (pth_in_use () && !pth_rwlock_init (LOCK) ? errno : 0) -# define glthread_rwlock_rdlock(LOCK) \ - (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RD, 0, NULL) ? errno : 0) -# define glthread_rwlock_wrlock(LOCK) \ - (pth_in_use () && !pth_rwlock_acquire (LOCK, PTH_RWLOCK_RW, 0, NULL) ? errno : 0) -# define glthread_rwlock_unlock(LOCK) \ - (pth_in_use () && !pth_rwlock_release (LOCK) ? errno : 0) -# define glthread_rwlock_destroy(LOCK) \ - ((void)(LOCK), 0) - -# else - -typedef struct - { - int initialized; - pth_mutex_t lock; /* protects the remaining fields */ - pth_cond_t waiting_readers; /* waiting readers */ - pth_cond_t waiting_writers; /* waiting writers */ - unsigned int waiting_writers_count; /* number of waiting writers */ - int runcount; /* number of readers running, or -1 when a writer runs */ - } - gl_rwlock_t; -# define gl_rwlock_define(STORAGECLASS, NAME) \ - STORAGECLASS gl_rwlock_t NAME; -# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ - STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; -# define gl_rwlock_initializer \ - { 0 } -# define glthread_rwlock_init(LOCK) \ - (pth_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0) -# define glthread_rwlock_rdlock(LOCK) \ - (pth_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0) -# define glthread_rwlock_wrlock(LOCK) \ - (pth_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0) -# define glthread_rwlock_unlock(LOCK) \ - (pth_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0) -# define glthread_rwlock_destroy(LOCK) \ - (pth_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0) -extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock); -extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock); -extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock); -extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock); -extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock); - -# endif - -/* --------------------- gl_recursive_lock_t datatype --------------------- */ - -/* In Pth, mutexes are recursive by default. */ -typedef pth_mutex_t gl_recursive_lock_t; -# define gl_recursive_lock_define(STORAGECLASS, NAME) \ - STORAGECLASS pth_mutex_t NAME; -# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ - STORAGECLASS pth_mutex_t NAME = gl_recursive_lock_initializer; -# define gl_recursive_lock_initializer \ - PTH_MUTEX_INIT -# define glthread_recursive_lock_init(LOCK) \ - (pth_in_use () && !pth_mutex_init (LOCK) ? errno : 0) -# define glthread_recursive_lock_lock(LOCK) \ - (pth_in_use () && !pth_mutex_acquire (LOCK, 0, NULL) ? errno : 0) -# define glthread_recursive_lock_unlock(LOCK) \ - (pth_in_use () && !pth_mutex_release (LOCK) ? errno : 0) -# define glthread_recursive_lock_destroy(LOCK) \ - ((void)(LOCK), 0) - -/* -------------------------- gl_once_t datatype -------------------------- */ - -typedef pth_once_t gl_once_t; -# define gl_once_define(STORAGECLASS, NAME) \ - STORAGECLASS pth_once_t NAME = PTH_ONCE_INIT; -# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ - (pth_in_use () \ - ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \ - : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) -extern int glthread_once_multithreaded (pth_once_t *once_control, void (*initfunction) (void)); -extern int glthread_once_singlethreaded (pth_once_t *once_control); - -# ifdef __cplusplus -} -# endif - -#endif - -/* ========================================================================= */ - -#if USE_SOLARIS_THREADS - -/* Use the old Solaris threads library. */ - -# include <thread.h> -# include <synch.h> - -# ifdef __cplusplus -extern "C" { -# endif - -# if USE_SOLARIS_THREADS_WEAK - -/* Use weak references to the old Solaris threads library. */ - -# pragma weak mutex_init -# pragma weak mutex_lock -# pragma weak mutex_unlock -# pragma weak mutex_destroy -# pragma weak rwlock_init -# pragma weak rw_rdlock -# pragma weak rw_wrlock -# pragma weak rw_unlock -# pragma weak rwlock_destroy -# pragma weak thr_self - -# pragma weak thr_suspend -# define thread_in_use() (thr_suspend != NULL) - -# else - -# define thread_in_use() 1 - -# endif - -/* -------------------------- gl_lock_t datatype -------------------------- */ - -typedef mutex_t gl_lock_t; -# define gl_lock_define(STORAGECLASS, NAME) \ - STORAGECLASS mutex_t NAME; -# define gl_lock_define_initialized(STORAGECLASS, NAME) \ - STORAGECLASS mutex_t NAME = gl_lock_initializer; -# define gl_lock_initializer \ - DEFAULTMUTEX -# define glthread_lock_init(LOCK) \ - (thread_in_use () ? mutex_init (LOCK, USYNC_THREAD, NULL) : 0) -# define glthread_lock_lock(LOCK) \ - (thread_in_use () ? mutex_lock (LOCK) : 0) -# define glthread_lock_unlock(LOCK) \ - (thread_in_use () ? mutex_unlock (LOCK) : 0) -# define glthread_lock_destroy(LOCK) \ - (thread_in_use () ? mutex_destroy (LOCK) : 0) - -/* ------------------------- gl_rwlock_t datatype ------------------------- */ - -typedef rwlock_t gl_rwlock_t; -# define gl_rwlock_define(STORAGECLASS, NAME) \ - STORAGECLASS rwlock_t NAME; -# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ - STORAGECLASS rwlock_t NAME = gl_rwlock_initializer; -# define gl_rwlock_initializer \ - DEFAULTRWLOCK -# define glthread_rwlock_init(LOCK) \ - (thread_in_use () ? rwlock_init (LOCK, USYNC_THREAD, NULL) : 0) -# define glthread_rwlock_rdlock(LOCK) \ - (thread_in_use () ? rw_rdlock (LOCK) : 0) -# define glthread_rwlock_wrlock(LOCK) \ - (thread_in_use () ? rw_wrlock (LOCK) : 0) -# define glthread_rwlock_unlock(LOCK) \ - (thread_in_use () ? rw_unlock (LOCK) : 0) -# define glthread_rwlock_destroy(LOCK) \ - (thread_in_use () ? rwlock_destroy (LOCK) : 0) - -/* --------------------- gl_recursive_lock_t datatype --------------------- */ - -/* Old Solaris threads did not have recursive locks. - We have to implement them ourselves. */ - -typedef struct - { - mutex_t mutex; - thread_t owner; - unsigned long depth; - } - gl_recursive_lock_t; -# define gl_recursive_lock_define(STORAGECLASS, NAME) \ - STORAGECLASS gl_recursive_lock_t NAME; -# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ - STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; -# define gl_recursive_lock_initializer \ - { DEFAULTMUTEX, (thread_t) 0, 0 } -# define glthread_recursive_lock_init(LOCK) \ - (thread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0) -# define glthread_recursive_lock_lock(LOCK) \ - (thread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0) -# define glthread_recursive_lock_unlock(LOCK) \ - (thread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0) -# define glthread_recursive_lock_destroy(LOCK) \ - (thread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0) -extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock); -extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock); -extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock); -extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock); - -/* -------------------------- gl_once_t datatype -------------------------- */ - -typedef struct - { - volatile int inited; - mutex_t mutex; - } - gl_once_t; -# define gl_once_define(STORAGECLASS, NAME) \ - STORAGECLASS gl_once_t NAME = { 0, DEFAULTMUTEX }; -# define glthread_once(ONCE_CONTROL, INITFUNCTION) \ - (thread_in_use () \ - ? glthread_once_multithreaded (ONCE_CONTROL, INITFUNCTION) \ - : (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0)) -extern int glthread_once_multithreaded (gl_once_t *once_control, void (*initfunction) (void)); -extern int glthread_once_singlethreaded (gl_once_t *once_control); - -# ifdef __cplusplus -} -# endif - -#endif - -/* ========================================================================= */ - #if USE_WINDOWS_THREADS # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include <windows.h> +# include "windows-mutex.h" +# include "windows-rwlock.h" +# include "windows-recmutex.h" +# include "windows-once.h" + # ifdef __cplusplus extern "C" { # endif @@ -694,127 +430,69 @@ extern "C" { /* There is no way to statically initialize a CRITICAL_SECTION. It needs to be done lazily, once only. For this we need spinlocks. */ -typedef struct { volatile int done; volatile long started; } gl_spinlock_t; - /* -------------------------- gl_lock_t datatype -------------------------- */ -typedef struct - { - gl_spinlock_t guard; /* protects the initialization */ - CRITICAL_SECTION lock; - } - gl_lock_t; +typedef glwthread_mutex_t gl_lock_t; # define gl_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME; # define gl_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_lock_t NAME = gl_lock_initializer; # define gl_lock_initializer \ - { { 0, -1 } } + GLWTHREAD_MUTEX_INIT # define glthread_lock_init(LOCK) \ - (glthread_lock_init_func (LOCK), 0) + (glwthread_mutex_init (LOCK), 0) # define glthread_lock_lock(LOCK) \ - glthread_lock_lock_func (LOCK) + glwthread_mutex_lock (LOCK) # define glthread_lock_unlock(LOCK) \ - glthread_lock_unlock_func (LOCK) + glwthread_mutex_unlock (LOCK) # define glthread_lock_destroy(LOCK) \ - glthread_lock_destroy_func (LOCK) -extern void glthread_lock_init_func (gl_lock_t *lock); -extern int glthread_lock_lock_func (gl_lock_t *lock); -extern int glthread_lock_unlock_func (gl_lock_t *lock); -extern int glthread_lock_destroy_func (gl_lock_t *lock); + glwthread_mutex_destroy (LOCK) /* ------------------------- gl_rwlock_t datatype ------------------------- */ -/* It is impossible to implement read-write locks using plain locks, without - introducing an extra thread dedicated to managing read-write locks. - Therefore here we need to use the low-level Event type. */ - -typedef struct - { - HANDLE *array; /* array of waiting threads, each represented by an event */ - unsigned int count; /* number of waiting threads */ - unsigned int alloc; /* length of allocated array */ - unsigned int offset; /* index of first waiting thread in array */ - } - gl_carray_waitqueue_t; -typedef struct - { - gl_spinlock_t guard; /* protects the initialization */ - CRITICAL_SECTION lock; /* protects the remaining fields */ - gl_carray_waitqueue_t waiting_readers; /* waiting readers */ - gl_carray_waitqueue_t waiting_writers; /* waiting writers */ - int runcount; /* number of readers running, or -1 when a writer runs */ - } - gl_rwlock_t; +typedef glwthread_rwlock_t gl_rwlock_t; # define gl_rwlock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer; # define gl_rwlock_initializer \ - { { 0, -1 } } + GLWTHREAD_RWLOCK_INIT # define glthread_rwlock_init(LOCK) \ - (glthread_rwlock_init_func (LOCK), 0) + (glwthread_rwlock_init (LOCK), 0) # define glthread_rwlock_rdlock(LOCK) \ - glthread_rwlock_rdlock_func (LOCK) + glwthread_rwlock_rdlock (LOCK) # define glthread_rwlock_wrlock(LOCK) \ - glthread_rwlock_wrlock_func (LOCK) + glwthread_rwlock_wrlock (LOCK) # define glthread_rwlock_unlock(LOCK) \ - glthread_rwlock_unlock_func (LOCK) + glwthread_rwlock_unlock (LOCK) # define glthread_rwlock_destroy(LOCK) \ - glthread_rwlock_destroy_func (LOCK) -extern void glthread_rwlock_init_func (gl_rwlock_t *lock); -extern int glthread_rwlock_rdlock_func (gl_rwlock_t *lock); -extern int glthread_rwlock_wrlock_func (gl_rwlock_t *lock); -extern int glthread_rwlock_unlock_func (gl_rwlock_t *lock); -extern int glthread_rwlock_destroy_func (gl_rwlock_t *lock); + glwthread_rwlock_destroy (LOCK) /* --------------------- gl_recursive_lock_t datatype --------------------- */ -/* The native Windows documentation says that CRITICAL_SECTION already - implements a recursive lock. But we need not rely on it: It's easy to - implement a recursive lock without this assumption. */ - -typedef struct - { - gl_spinlock_t guard; /* protects the initialization */ - DWORD owner; - unsigned long depth; - CRITICAL_SECTION lock; - } - gl_recursive_lock_t; +typedef glwthread_recmutex_t gl_recursive_lock_t; # define gl_recursive_lock_define(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME; # define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer; # define gl_recursive_lock_initializer \ - { { 0, -1 }, 0, 0 } + GLWTHREAD_RECMUTEX_INIT # define glthread_recursive_lock_init(LOCK) \ - (glthread_recursive_lock_init_func (LOCK), 0) + (glwthread_recmutex_init (LOCK), 0) # define glthread_recursive_lock_lock(LOCK) \ - glthread_recursive_lock_lock_func (LOCK) + glwthread_recmutex_lock (LOCK) # define glthread_recursive_lock_unlock(LOCK) \ - glthread_recursive_lock_unlock_func (LOCK) + glwthread_recmutex_unlock (LOCK) # define glthread_recursive_lock_destroy(LOCK) \ - glthread_recursive_lock_destroy_func (LOCK) -extern void glthread_recursive_lock_init_func (gl_recursive_lock_t *lock); -extern int glthread_recursive_lock_lock_func (gl_recursive_lock_t *lock); -extern int glthread_recursive_lock_unlock_func (gl_recursive_lock_t *lock); -extern int glthread_recursive_lock_destroy_func (gl_recursive_lock_t *lock); + glwthread_recmutex_destroy (LOCK) /* -------------------------- gl_once_t datatype -------------------------- */ -typedef struct - { - volatile int inited; - volatile long started; - CRITICAL_SECTION lock; - } - gl_once_t; +typedef glwthread_once_t gl_once_t; # define gl_once_define(STORAGECLASS, NAME) \ - STORAGECLASS gl_once_t NAME = { -1, -1 }; + STORAGECLASS gl_once_t NAME = GLWTHREAD_ONCE_INIT; # define glthread_once(ONCE_CONTROL, INITFUNCTION) \ - (glthread_once_func (ONCE_CONTROL, INITFUNCTION), 0) -extern void glthread_once_func (gl_once_t *once_control, void (*initfunction) (void)); + (glwthread_once (ONCE_CONTROL, INITFUNCTION), 0) # ifdef __cplusplus } @@ -824,7 +502,7 @@ extern void glthread_once_func (gl_once_t *once_control, void (*initfunction) (v /* ========================================================================= */ -#if !(USE_POSIX_THREADS || USE_PTH_THREADS || USE_SOLARIS_THREADS || USE_WINDOWS_THREADS) +#if !(USE_POSIX_THREADS || USE_WINDOWS_THREADS) /* Provide dummy implementation if threads are not supported. */ diff --git a/gl/lib/intprops.h b/gl/lib/intprops.h index 1a44ae55..fe67c1f3 100644 --- a/gl/lib/intprops.h +++ b/gl/lib/intprops.h @@ -111,8 +111,8 @@ Subtract 1 for the sign bit if T is signed, and then add 1 more for a minus sign if needed. - Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 0 when its argument is - signed, this macro may overestimate the true bound by one byte when + Because _GL_SIGNED_TYPE_OR_EXPR sometimes returns 1 when its argument is + unsigned, this macro may overestimate the true bound by one byte when applied to unsigned types of size 2, 4, 16, ... bytes. */ #define INT_STRLEN_BOUND(t) \ (INT_BITS_STRLEN_BOUND (TYPE_WIDTH (t) - _GL_SIGNED_TYPE_OR_EXPR (t)) \ @@ -281,7 +281,9 @@ The INT_<op>_OVERFLOW macros return 1 if the corresponding C operators might not yield numerically correct answers due to arithmetic overflow. - The INT_<op>_WRAPV macros also store the low-order bits of the answer. + The INT_<op>_WRAPV macros compute the low-order bits of the sum, + difference, and product of two C integers, and return 1 if these + low-order bits are not numerically correct. These macros work correctly on all known practical hosts, and do not rely on undefined behavior due to signed arithmetic overflow. @@ -309,9 +311,11 @@ arguments should not have side effects. The WRAPV macros are not constant expressions. They support only - +, binary -, and *. The result type must be signed. + +, binary -, and *. Because the WRAPV macros convert the result, + they report overflow in different circumstances than the OVERFLOW + macros do. - These macros are tuned for their last argument being a constant. + These macros are tuned for their last input argument being a constant. Return 1 if the integer expressions A * B, A - B, -A, A * B, A / B, A % B, and A << B would overflow, respectively. */ @@ -348,11 +352,21 @@ /* Store the low-order bits of A + B, A - B, A * B, respectively, into *R. Return 1 if the result overflows. See above for restrictions. */ #define INT_ADD_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, +, __builtin_add_overflow, INT_ADD_OVERFLOW) + _GL_INT_OP_WRAPV (a, b, r, +, __builtin_add_overflow, \ + _GL_INT_ADD_RANGE_OVERFLOW) #define INT_SUBTRACT_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, INT_SUBTRACT_OVERFLOW) + _GL_INT_OP_WRAPV (a, b, r, -, __builtin_sub_overflow, \ + _GL_INT_SUBTRACT_RANGE_OVERFLOW) #define INT_MULTIPLY_WRAPV(a, b, r) \ - _GL_INT_OP_WRAPV (a, b, r, *, __builtin_mul_overflow, INT_MULTIPLY_OVERFLOW) + _GL_INT_OP_WRAPV (a, b, r, *, _GL_BUILTIN_MUL_OVERFLOW, \ + _GL_INT_MULTIPLY_RANGE_OVERFLOW) + +/* Like __builtin_mul_overflow, but work around GCC bug 91450. */ +#define _GL_BUILTIN_MUL_OVERFLOW(a, b, r) \ + ((!_GL_SIGNED_TYPE_OR_EXPR (*(r)) && EXPR_SIGNED (a) && EXPR_SIGNED (b) \ + && _GL_INT_MULTIPLY_RANGE_OVERFLOW (a, b, 0, (__typeof__ (*(r))) -1)) \ + ? ((void) __builtin_mul_overflow (a, b, r), 1) \ + : __builtin_mul_overflow (a, b, r)) /* Nonzero if this compiler has GCC bug 68193 or Clang bug 25390. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68193 @@ -379,41 +393,91 @@ signed char: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ signed char, SCHAR_MIN, SCHAR_MAX), \ + unsigned char: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned char, 0, UCHAR_MAX), \ short int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ short int, SHRT_MIN, SHRT_MAX), \ + unsigned short int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned short int, 0, USHRT_MAX), \ int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ int, INT_MIN, INT_MAX), \ + unsigned int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned int, 0, UINT_MAX), \ long int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ long int, LONG_MIN, LONG_MAX), \ + unsigned long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX), \ long long int: \ _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - long long int, LLONG_MIN, LLONG_MAX))) + long long int, LLONG_MIN, LLONG_MAX), \ + unsigned long long int: \ + _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + unsigned long long int, 0, ULLONG_MAX))) #else +/* Store the low-order bits of A <op> B into *R, where OP specifies + the operation and OVERFLOW the overflow predicate. If *R is + signed, its type is ST with bounds SMIN..SMAX; otherwise its type + is UT with bounds U..UMAX. ST and UT are narrower than int. + Return 1 if the result overflows. See above for restrictions. */ +# if _GL_HAVE___TYPEOF__ +# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ + (TYPE_SIGNED (__typeof__ (*(r))) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, st, smin, smax) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, ut, 0, umax)) +# else +# define _GL_INT_OP_WRAPV_SMALLISH(a,b,r,op,overflow,st,smin,smax,ut,umax) \ + (overflow (a, b, smin, smax) \ + ? (overflow (a, b, 0, umax) \ + ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 1) \ + : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) < 0) \ + : (overflow (a, b, 0, umax) \ + ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st)) >= 0 \ + : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a,b,op,unsigned,st), 0))) +# endif + # define _GL_INT_OP_WRAPV(a, b, r, op, builtin, overflow) \ (sizeof *(r) == sizeof (signed char) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - signed char, SCHAR_MIN, SCHAR_MAX) \ + ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ + signed char, SCHAR_MIN, SCHAR_MAX, \ + unsigned char, UCHAR_MAX) \ : sizeof *(r) == sizeof (short int) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - short int, SHRT_MIN, SHRT_MAX) \ + ? _GL_INT_OP_WRAPV_SMALLISH (a, b, r, op, overflow, \ + short int, SHRT_MIN, SHRT_MAX, \ + unsigned short int, USHRT_MAX) \ : sizeof *(r) == sizeof (int) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ - int, INT_MIN, INT_MAX) \ + ? (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + int, INT_MIN, INT_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned int, \ + unsigned int, 0, UINT_MAX)) \ : _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow)) # ifdef LLONG_MAX # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ (sizeof *(r) == sizeof (long int) \ - ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX) \ - : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ - long long int, LLONG_MIN, LLONG_MAX)) + ? (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + long int, LONG_MIN, LONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX)) \ + : (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + long long int, LLONG_MIN, LLONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long long int, \ + unsigned long long int, 0, ULLONG_MAX))) # else # define _GL_INT_OP_WRAPV_LONGISH(a, b, r, op, overflow) \ - _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ - long int, LONG_MIN, LONG_MAX) + (EXPR_SIGNED (*(r)) \ + ? _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + long int, LONG_MIN, LONG_MAX) \ + : _GL_INT_OP_CALC (a, b, r, op, overflow, unsigned long int, \ + unsigned long int, 0, ULONG_MAX)) # endif #endif @@ -422,13 +486,7 @@ overflow problems. *R's type is T, with extrema TMIN and TMAX. T must be a signed integer type. Return 1 if the result overflows. */ #define _GL_INT_OP_CALC(a, b, r, op, overflow, ut, t, tmin, tmax) \ - (sizeof ((a) op (b)) < sizeof (t) \ - ? _GL_INT_OP_CALC1 ((t) (a), (t) (b), r, op, overflow, ut, t, tmin, tmax) \ - : _GL_INT_OP_CALC1 (a, b, r, op, overflow, ut, t, tmin, tmax)) -#define _GL_INT_OP_CALC1(a, b, r, op, overflow, ut, t, tmin, tmax) \ - ((overflow (a, b) \ - || (EXPR_SIGNED ((a) op (b)) && ((a) op (b)) < (tmin)) \ - || (tmax) < ((a) op (b))) \ + (overflow (a, b, tmin, tmax) \ ? (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 1) \ : (*(r) = _GL_INT_OP_WRAPV_VIA_UNSIGNED (a, b, op, ut, t), 0)) @@ -452,4 +510,57 @@ #define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, ut, t) \ ((t) ((ut) (a) op (ut) (b))) +/* Return true if the numeric values A + B, A - B, A * B fall outside + the range TMIN..TMAX. Arguments should be integer expressions + without side effects. TMIN should be signed and nonpositive. + TMAX should be positive, and should be signed unless TMIN is zero. */ +#define _GL_INT_ADD_RANGE_OVERFLOW(a, b, tmin, tmax) \ + ((b) < 0 \ + ? (((tmin) \ + ? ((EXPR_SIGNED (_GL_INT_CONVERT (a, (tmin) - (b))) || (b) < (tmin)) \ + && (a) < (tmin) - (b)) \ + : (a) <= -1 - (b)) \ + || ((EXPR_SIGNED (a) ? 0 <= (a) : (tmax) < (a)) && (tmax) < (a) + (b))) \ + : (a) < 0 \ + ? (((tmin) \ + ? ((EXPR_SIGNED (_GL_INT_CONVERT (b, (tmin) - (a))) || (a) < (tmin)) \ + && (b) < (tmin) - (a)) \ + : (b) <= -1 - (a)) \ + || ((EXPR_SIGNED (_GL_INT_CONVERT (a, b)) || (tmax) < (b)) \ + && (tmax) < (a) + (b))) \ + : (tmax) < (b) || (tmax) - (b) < (a)) +#define _GL_INT_SUBTRACT_RANGE_OVERFLOW(a, b, tmin, tmax) \ + (((a) < 0) == ((b) < 0) \ + ? ((a) < (b) \ + ? !(tmin) || -1 - (tmin) < (b) - (a) - 1 \ + : (tmax) < (a) - (b)) \ + : (a) < 0 \ + ? ((!EXPR_SIGNED (_GL_INT_CONVERT ((a) - (tmin), b)) && (a) - (tmin) < 0) \ + || (a) - (tmin) < (b)) \ + : ((! (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + && EXPR_SIGNED (_GL_INT_CONVERT ((tmax) + (b), a))) \ + && (tmax) <= -1 - (b)) \ + || (tmax) + (b) < (a))) +#define _GL_INT_MULTIPLY_RANGE_OVERFLOW(a, b, tmin, tmax) \ + ((b) < 0 \ + ? ((a) < 0 \ + ? (EXPR_SIGNED (_GL_INT_CONVERT (tmax, b)) \ + ? (a) < (tmax) / (b) \ + : ((INT_NEGATE_OVERFLOW (b) \ + ? _GL_INT_CONVERT (b, tmax) >> (TYPE_WIDTH (b) - 1) \ + : (tmax) / -(b)) \ + <= -1 - (a))) \ + : INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (b, tmin)) && (b) == -1 \ + ? (EXPR_SIGNED (a) \ + ? 0 < (a) + (tmin) \ + : 0 < (a) && -1 - (tmin) < (a) - 1) \ + : (tmin) / (b) < (a)) \ + : (b) == 0 \ + ? 0 \ + : ((a) < 0 \ + ? (INT_NEGATE_OVERFLOW (_GL_INT_CONVERT (a, tmin)) && (a) == -1 \ + ? (EXPR_SIGNED (b) ? 0 < (b) + (tmin) : -1 - (tmin) < (b) - 1) \ + : (tmin) / (a) < (b)) \ + : (tmax) / (b) < (a))) + #endif /* _GL_INTPROPS_H */ diff --git a/gl/lib/localcharset.c b/gl/lib/localcharset.c index 38e27e6f..dabef948 100644 --- a/gl/lib/localcharset.c +++ b/gl/lib/localcharset.c @@ -377,27 +377,166 @@ static const struct table_entry alias_table[] = /* The list of encodings is taken from "List of OS/2 Codepages" by Alex Taylor: <http://altsan.org/os2/toolkits/uls/index.html#codepages>. - See also "IBM Globalization - Code page identifiers": - <https://www-01.ibm.com/software/globalization/cp/cp_cpgid.html>. */ - { "CP1089", "ISO-8859-6" }, - { "CP1208", "UTF-8" }, - { "CP1381", "GB2312" }, - { "CP1386", "GBK" }, - { "CP3372", "EUC-JP" }, - { "CP813", "ISO-8859-7" }, - { "CP819", "ISO-8859-1" }, - { "CP878", "KOI8-R" }, - { "CP912", "ISO-8859-2" }, - { "CP913", "ISO-8859-3" }, - { "CP914", "ISO-8859-4" }, - { "CP915", "ISO-8859-5" }, - { "CP916", "ISO-8859-8" }, - { "CP920", "ISO-8859-9" }, - { "CP921", "ISO-8859-13" }, - { "CP923", "ISO-8859-15" }, - { "CP954", "EUC-JP" }, - { "CP964", "EUC-TW" }, - { "CP970", "EUC-KR" } + See also "__convcp() of kLIBC": + <http://trac.netlabs.org/libc/browser/branches/libc-0.6/src/emx/src/lib/locale/__convcp.c>, + or: + <https://github.com/bitwiseworks/libc/blob/master/src/emx/src/lib/locale/__convcp.c>. */ + { "CP1004", "CP1252" }, + /*{ "CP1041", "CP943" },*/ + /*{ "CP1088", "CP949" },*/ + { "CP1089", "ISO-8859-6" }, + /*{ "CP1114", "CP950" },*/ + /*{ "CP1115", "GB2312" },*/ + { "CP1208", "UTF-8" }, + /*{ "CP1380", "GB2312" },*/ + { "CP1381", "GB2312" }, + { "CP1383", "GB2312" }, + { "CP1386", "GBK" }, + /*{ "CP301", "CP943" },*/ + { "CP3372", "EUC-JP" }, + { "CP4946", "CP850" }, + /*{ "CP5048", "JIS_X0208-1990" },*/ + /*{ "CP5049", "JIS_X0212-1990" },*/ + /*{ "CP5067", "KS_C_5601-1987" },*/ + { "CP813", "ISO-8859-7" }, + { "CP819", "ISO-8859-1" }, + { "CP878", "KOI8-R" }, + /*{ "CP897", "CP943" },*/ + { "CP912", "ISO-8859-2" }, + { "CP913", "ISO-8859-3" }, + { "CP914", "ISO-8859-4" }, + { "CP915", "ISO-8859-5" }, + { "CP916", "ISO-8859-8" }, + { "CP920", "ISO-8859-9" }, + { "CP921", "ISO-8859-13" }, + { "CP923", "ISO-8859-15" }, + /*{ "CP941", "CP943" },*/ + /*{ "CP947", "CP950" },*/ + /*{ "CP951", "CP949" },*/ + /*{ "CP952", "JIS_X0208-1990" },*/ + /*{ "CP953", "JIS_X0212-1990" },*/ + { "CP954", "EUC-JP" }, + { "CP964", "EUC-TW" }, + { "CP970", "EUC-KR" }, + /*{ "CP971", "KS_C_5601-1987" },*/ + { "IBM-1004", "CP1252" }, + /*{ "IBM-1006", "?" },*/ + /*{ "IBM-1008", "?" },*/ + /*{ "IBM-1041", "CP943" },*/ + /*{ "IBM-1051", "?" },*/ + /*{ "IBM-1088", "CP949" },*/ + { "IBM-1089", "ISO-8859-6" }, + /*{ "IBM-1098", "?" },*/ + /*{ "IBM-1114", "CP950" },*/ + /*{ "IBM-1115", "GB2312" },*/ + /*{ "IBM-1116", "?" },*/ + /*{ "IBM-1117", "?" },*/ + /*{ "IBM-1118", "?" },*/ + /*{ "IBM-1119", "?" },*/ + { "IBM-1124", "CP1124" }, + { "IBM-1125", "CP1125" }, + { "IBM-1131", "CP1131" }, + { "IBM-1208", "UTF-8" }, + { "IBM-1250", "CP1250" }, + { "IBM-1251", "CP1251" }, + { "IBM-1252", "CP1252" }, + { "IBM-1253", "CP1253" }, + { "IBM-1254", "CP1254" }, + { "IBM-1255", "CP1255" }, + { "IBM-1256", "CP1256" }, + { "IBM-1257", "CP1257" }, + /*{ "IBM-1275", "?" },*/ + /*{ "IBM-1276", "?" },*/ + /*{ "IBM-1277", "?" },*/ + /*{ "IBM-1280", "?" },*/ + /*{ "IBM-1281", "?" },*/ + /*{ "IBM-1282", "?" },*/ + /*{ "IBM-1283", "?" },*/ + /*{ "IBM-1380", "GB2312" },*/ + { "IBM-1381", "GB2312" }, + { "IBM-1383", "GB2312" }, + { "IBM-1386", "GBK" }, + /*{ "IBM-301", "CP943" },*/ + { "IBM-3372", "EUC-JP" }, + { "IBM-367", "ASCII" }, + { "IBM-437", "CP437" }, + { "IBM-4946", "CP850" }, + /*{ "IBM-5048", "JIS_X0208-1990" },*/ + /*{ "IBM-5049", "JIS_X0212-1990" },*/ + /*{ "IBM-5067", "KS_C_5601-1987" },*/ + { "IBM-813", "ISO-8859-7" }, + { "IBM-819", "ISO-8859-1" }, + { "IBM-850", "CP850" }, + /*{ "IBM-851", "?" },*/ + { "IBM-852", "CP852" }, + { "IBM-855", "CP855" }, + { "IBM-856", "CP856" }, + { "IBM-857", "CP857" }, + /*{ "IBM-859", "?" },*/ + { "IBM-860", "CP860" }, + { "IBM-861", "CP861" }, + { "IBM-862", "CP862" }, + { "IBM-863", "CP863" }, + { "IBM-864", "CP864" }, + { "IBM-865", "CP865" }, + { "IBM-866", "CP866" }, + /*{ "IBM-868", "?" },*/ + { "IBM-869", "CP869" }, + { "IBM-874", "CP874" }, + { "IBM-878", "KOI8-R" }, + /*{ "IBM-895", "?" },*/ + /*{ "IBM-897", "CP943" },*/ + /*{ "IBM-907", "?" },*/ + /*{ "IBM-909", "?" },*/ + { "IBM-912", "ISO-8859-2" }, + { "IBM-913", "ISO-8859-3" }, + { "IBM-914", "ISO-8859-4" }, + { "IBM-915", "ISO-8859-5" }, + { "IBM-916", "ISO-8859-8" }, + { "IBM-920", "ISO-8859-9" }, + { "IBM-921", "ISO-8859-13" }, + { "IBM-922", "CP922" }, + { "IBM-923", "ISO-8859-15" }, + { "IBM-932", "CP932" }, + /*{ "IBM-941", "CP943" },*/ + /*{ "IBM-942", "?" },*/ + { "IBM-943", "CP943" }, + /*{ "IBM-947", "CP950" },*/ + { "IBM-949", "CP949" }, + { "IBM-950", "CP950" }, + /*{ "IBM-951", "CP949" },*/ + /*{ "IBM-952", "JIS_X0208-1990" },*/ + /*{ "IBM-953", "JIS_X0212-1990" },*/ + { "IBM-954", "EUC-JP" }, + /*{ "IBM-955", "?" },*/ + { "IBM-964", "EUC-TW" }, + { "IBM-970", "EUC-KR" }, + /*{ "IBM-971", "KS_C_5601-1987" },*/ + { "IBM-eucCN", "GB2312" }, + { "IBM-eucJP", "EUC-JP" }, + { "IBM-eucKR", "EUC-KR" }, + { "IBM-eucTW", "EUC-TW" }, + { "IBM33722", "EUC-JP" }, + { "ISO8859-1", "ISO-8859-1" }, + { "ISO8859-2", "ISO-8859-2" }, + { "ISO8859-3", "ISO-8859-3" }, + { "ISO8859-4", "ISO-8859-4" }, + { "ISO8859-5", "ISO-8859-5" }, + { "ISO8859-6", "ISO-8859-6" }, + { "ISO8859-7", "ISO-8859-7" }, + { "ISO8859-8", "ISO-8859-8" }, + { "ISO8859-9", "ISO-8859-9" }, + /*{ "JISX0201-1976", "JISX0201-1976" },*/ + /*{ "JISX0208-1978", "?" },*/ + /*{ "JISX0208-1983", "JIS_X0208-1983" },*/ + /*{ "JISX0208-1990", "JIS_X0208-1990" },*/ + /*{ "JISX0212-1990", "JIS_X0212-1990" },*/ + /*{ "KSC5601-1987", "KS_C_5601-1987" },*/ + { "SJIS-1", "CP943" }, + { "SJIS-2", "CP943" }, + { "eucJP", "EUC-JP" }, + { "eucKR", "EUC-KR" }, + { "eucTW-1993", "EUC-TW" } # define alias_table_defined # endif # if defined VMS /* OpenVMS */ @@ -787,7 +926,12 @@ locale_charset (void) encoding is the best bet. */ sprintf (buf, "CP%u", GetACP ()); } - codeset = buf; + /* For a locale name such as "French_France.65001", in Windows 10, + setlocale now returns "French_France.utf8" instead. */ + if (strcmp (buf + 2, "65001") == 0 || strcmp (buf + 2, "utf8") == 0) + codeset = "UTF-8"; + else + codeset = buf; # elif defined OS2 diff --git a/gl/lib/lstat.c b/gl/lib/lstat.c index d57ca105..a3e40d82 100644 --- a/gl/lib/lstat.c +++ b/gl/lib/lstat.c @@ -42,10 +42,14 @@ orig_lstat (const char *filename, struct stat *buf) } /* Specification. */ +# ifdef __osf__ /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ -# include "sys/stat.h" +# include "sys/stat.h" +# else +# include <sys/stat.h> +# endif # include "stat-time.h" diff --git a/gl/lib/mbrtowc.c b/gl/lib/mbrtowc.c index bbe3f7a3..1aad22cd 100644 --- a/gl/lib/mbrtowc.c +++ b/gl/lib/mbrtowc.c @@ -34,6 +34,7 @@ # include "localcharset.h" # include "streq.h" # include "verify.h" +# include "glthread/lock.h" # ifndef FALLTHROUGH # if __GNUC__ < 7 @@ -75,7 +76,7 @@ locale_enc (void) return enc_other; } -#if GNULIB_WCHAR_SINGLE +# if GNULIB_WCHAR_SINGLE /* When we know that the locale does not change, provide a speedup by caching the value of locale_enc. */ static int cached_locale_enc = -1; @@ -86,10 +87,14 @@ locale_enc_cached (void) cached_locale_enc = locale_enc (); return cached_locale_enc; } -#else +# else /* By default, don't make assumptions, hence no caching. */ -# define locale_enc_cached locale_enc -#endif +# define locale_enc_cached locale_enc +# endif + +/* This lock protects the internal state of mbtowc against multiple simultaneous + calls of mbrtowc. */ +gl_lock_define_initialized(static, mbtowc_lock) verify (sizeof (mbstate_t) >= 4); @@ -120,6 +125,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) char buf[4]; const char *p; size_t m; + enc_t enc; + int res; switch (nstate) { @@ -152,227 +159,296 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps) /* Here m > 0. */ -# if __GLIBC__ || defined __UCLIBC__ - /* Work around bug <https://sourceware.org/bugzilla/show_bug.cgi?id=9674> */ - mbtowc (NULL, NULL, 0); -# endif - { - int res = mbtowc (pwc, p, m); + enc = locale_enc_cached (); - if (res >= 0) - { - if (pwc != NULL && ((*pwc == 0) != (res == 0))) - abort (); - if (nstate >= (res > 0 ? res : 1)) - abort (); - res -= nstate; - pstate[0] = 0; - return res; - } + if (enc == enc_utf8) /* UTF-8 */ + { + /* Achieve multi-thread safety by not calling mbtowc() at all. */ + /* Cf. unistr/u8-mbtouc.c. */ + unsigned char c = (unsigned char) p[0]; - /* mbtowc does not distinguish between invalid and incomplete multibyte - sequences. But mbrtowc needs to make this distinction. - There are two possible approaches: - - Use iconv() and its return value. - - Use built-in knowledge about the possible encodings. - Given the low quality of implementation of iconv() on the systems that - lack mbrtowc(), we use the second approach. - The possible encodings are: - - 8-bit encodings, - - EUC-JP, EUC-KR, GB2312, EUC-TW, BIG5, GB18030, SJIS, - - UTF-8. - Use specialized code for each. */ - if (m >= 4 || m >= MB_CUR_MAX) - goto invalid; - /* Here MB_CUR_MAX > 1 and 0 < m < 4. */ - switch (locale_enc_cached ()) - { - case enc_utf8: /* UTF-8 */ + if (c < 0x80) { - /* Cf. unistr/u8-mblen.c. */ - unsigned char c = (unsigned char) p[0]; - - if (c >= 0xc2) - { - if (c < 0xe0) - { - if (m == 1) - goto incomplete; - } - else if (c < 0xf0) - { - if (m == 1) - goto incomplete; - if (m == 2) - { - unsigned char c2 = (unsigned char) p[1]; - - if ((c2 ^ 0x80) < 0x40 - && (c >= 0xe1 || c2 >= 0xa0) - && (c != 0xed || c2 < 0xa0)) - goto incomplete; - } - } - else if (c <= 0xf4) - { - if (m == 1) - goto incomplete; - else /* m == 2 || m == 3 */ - { - unsigned char c2 = (unsigned char) p[1]; - - if ((c2 ^ 0x80) < 0x40 - && (c >= 0xf1 || c2 >= 0x90) - && (c < 0xf4 || (c == 0xf4 && c2 < 0x90))) - { - if (m == 2) - goto incomplete; - else /* m == 3 */ - { - unsigned char c3 = (unsigned char) p[2]; - - if ((c3 ^ 0x80) < 0x40) - goto incomplete; - } - } - } - } - } - goto invalid; + if (pwc != NULL) + *pwc = c; + res = (c == 0 ? 0 : 1); + goto success; } - - /* As a reference for this code, you can use the GNU libiconv - implementation. Look for uses of the RET_TOOFEW macro. */ - - case enc_eucjp: /* EUC-JP */ + if (c >= 0xc2) { - if (m == 1) + if (c < 0xe0) { - unsigned char c = (unsigned char) p[0]; - - if ((c >= 0xa1 && c < 0xff) || c == 0x8e || c == 0x8f) + if (m == 1) goto incomplete; - } - if (m == 2) - { - unsigned char c = (unsigned char) p[0]; - - if (c == 0x8f) + else /* m >= 2 */ { unsigned char c2 = (unsigned char) p[1]; - if (c2 >= 0xa1 && c2 < 0xff) - goto incomplete; + if ((c2 ^ 0x80) < 0x40) + { + if (pwc != NULL) + *pwc = ((unsigned int) (c & 0x1f) << 6) + | (unsigned int) (c2 ^ 0x80); + res = 2; + goto success; + } } } - goto invalid; - } - - case enc_94: /* EUC-KR, GB2312, BIG5 */ - { - if (m == 1) + else if (c < 0xf0) { - unsigned char c = (unsigned char) p[0]; - - if (c >= 0xa1 && c < 0xff) + if (m == 1) goto incomplete; - } - goto invalid; - } - - case enc_euctw: /* EUC-TW */ - { - if (m == 1) - { - unsigned char c = (unsigned char) p[0]; + else + { + unsigned char c2 = (unsigned char) p[1]; - if ((c >= 0xa1 && c < 0xff) || c == 0x8e) - goto incomplete; - } - else /* m == 2 || m == 3 */ - { - unsigned char c = (unsigned char) p[0]; + if ((c2 ^ 0x80) < 0x40 + && (c >= 0xe1 || c2 >= 0xa0) + && (c != 0xed || c2 < 0xa0)) + { + if (m == 2) + goto incomplete; + else /* m >= 3 */ + { + unsigned char c3 = (unsigned char) p[2]; - if (c == 0x8e) - goto incomplete; + if ((c3 ^ 0x80) < 0x40) + { + if (pwc != NULL) + *pwc = ((unsigned int) (c & 0x0f) << 12) + | ((unsigned int) (c2 ^ 0x80) << 6) + | (unsigned int) (c3 ^ 0x80); + res = 3; + goto success; + } + } + } + } } - goto invalid; - } - - case enc_gb18030: /* GB18030 */ - { - if (m == 1) + else if (c <= 0xf4) { - unsigned char c = (unsigned char) p[0]; - - if ((c >= 0x90 && c <= 0xe3) || (c >= 0xf8 && c <= 0xfe)) + if (m == 1) goto incomplete; - } - else /* m == 2 || m == 3 */ - { - unsigned char c = (unsigned char) p[0]; - - if (c >= 0x90 && c <= 0xe3) + else { unsigned char c2 = (unsigned char) p[1]; - if (c2 >= 0x30 && c2 <= 0x39) + if ((c2 ^ 0x80) < 0x40 + && (c >= 0xf1 || c2 >= 0x90) + && (c < 0xf4 || (c == 0xf4 && c2 < 0x90))) { if (m == 2) goto incomplete; - else /* m == 3 */ + else { unsigned char c3 = (unsigned char) p[2]; - if (c3 >= 0x81 && c3 <= 0xfe) - goto incomplete; + if ((c3 ^ 0x80) < 0x40) + { + if (m == 3) + goto incomplete; + else /* m >= 4 */ + { + unsigned char c4 = (unsigned char) p[3]; + + if ((c4 ^ 0x80) < 0x40) + { + if (pwc != NULL) + *pwc = ((unsigned int) (c & 0x07) << 18) + | ((unsigned int) (c2 ^ 0x80) << 12) + | ((unsigned int) (c3 ^ 0x80) << 6) + | (unsigned int) (c4 ^ 0x80); + res = 4; + goto success; + } + } + } } } } } - goto invalid; } + goto invalid; + } + else + { + /* The hidden internal state of mbtowc would make this function not + multi-thread safe. Achieve multi-thread safety through a lock. */ + gl_lock_lock (mbtowc_lock); - case enc_sjis: /* SJIS */ - { - if (m == 1) - { - unsigned char c = (unsigned char) p[0]; + /* Put the hidden internal state of mbtowc into its initial state. + This is needed at least with glibc, uClibc, and MSVC CRT. + See <https://sourceware.org/bugzilla/show_bug.cgi?id=9674>. */ + mbtowc (NULL, NULL, 0); - if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea) - || (c >= 0xf0 && c <= 0xf9)) - goto incomplete; - } - goto invalid; - } + res = mbtowc (pwc, p, m); - default: - /* An unknown multibyte encoding. */ - goto incomplete; - } + gl_lock_unlock (mbtowc_lock); - incomplete: - { - size_t k = nstate; - /* Here 0 <= k < m < 4. */ - pstate[++k] = s[0]; - if (k < m) + if (res >= 0) + { + if (pwc != NULL && ((*pwc == 0) != (res == 0))) + abort (); + goto success; + } + + /* mbtowc does not distinguish between invalid and incomplete multibyte + sequences. But mbrtowc needs to make this distinction. + There are two possible approaches: + - Use iconv() and its return value. + - Use built-in knowledge about the possible encodings. + Given the low quality of implementation of iconv() on the systems + that lack mbrtowc(), we use the second approach. + The possible encodings are: + - 8-bit encodings, + - EUC-JP, EUC-KR, GB2312, EUC-TW, BIG5, GB18030, SJIS, + - UTF-8 (already handled above). + Use specialized code for each. */ + if (m >= 4 || m >= MB_CUR_MAX) + goto invalid; + /* Here MB_CUR_MAX > 1 and 0 < m < 4. */ + switch (enc) { - pstate[++k] = s[1]; - if (k < m) - pstate[++k] = s[2]; + /* As a reference for this code, you can use the GNU libiconv + implementation. Look for uses of the RET_TOOFEW macro. */ + + case enc_eucjp: /* EUC-JP */ + { + if (m == 1) + { + unsigned char c = (unsigned char) p[0]; + + if ((c >= 0xa1 && c < 0xff) || c == 0x8e || c == 0x8f) + goto incomplete; + } + if (m == 2) + { + unsigned char c = (unsigned char) p[0]; + + if (c == 0x8f) + { + unsigned char c2 = (unsigned char) p[1]; + + if (c2 >= 0xa1 && c2 < 0xff) + goto incomplete; + } + } + goto invalid; + } + + case enc_94: /* EUC-KR, GB2312, BIG5 */ + { + if (m == 1) + { + unsigned char c = (unsigned char) p[0]; + + if (c >= 0xa1 && c < 0xff) + goto incomplete; + } + goto invalid; + } + + case enc_euctw: /* EUC-TW */ + { + if (m == 1) + { + unsigned char c = (unsigned char) p[0]; + + if ((c >= 0xa1 && c < 0xff) || c == 0x8e) + goto incomplete; + } + else /* m == 2 || m == 3 */ + { + unsigned char c = (unsigned char) p[0]; + + if (c == 0x8e) + goto incomplete; + } + goto invalid; + } + + case enc_gb18030: /* GB18030 */ + { + if (m == 1) + { + unsigned char c = (unsigned char) p[0]; + + if ((c >= 0x90 && c <= 0xe3) || (c >= 0xf8 && c <= 0xfe)) + goto incomplete; + } + else /* m == 2 || m == 3 */ + { + unsigned char c = (unsigned char) p[0]; + + if (c >= 0x90 && c <= 0xe3) + { + unsigned char c2 = (unsigned char) p[1]; + + if (c2 >= 0x30 && c2 <= 0x39) + { + if (m == 2) + goto incomplete; + else /* m == 3 */ + { + unsigned char c3 = (unsigned char) p[2]; + + if (c3 >= 0x81 && c3 <= 0xfe) + goto incomplete; + } + } + } + } + goto invalid; + } + + case enc_sjis: /* SJIS */ + { + if (m == 1) + { + unsigned char c = (unsigned char) p[0]; + + if ((c >= 0x81 && c <= 0x9f) || (c >= 0xe0 && c <= 0xea) + || (c >= 0xf0 && c <= 0xf9)) + goto incomplete; + } + goto invalid; + } + + default: + /* An unknown multibyte encoding. */ + goto incomplete; } - if (k != m) - abort (); } - pstate[0] = m; - return (size_t)(-2); - invalid: - errno = EILSEQ; - /* The conversion state is undefined, says POSIX. */ - return (size_t)(-1); + success: + /* res >= 0 is the corrected return value of mbtowc (pwc, p, m). */ + if (nstate >= (res > 0 ? res : 1)) + abort (); + res -= nstate; + pstate[0] = 0; + return res; + + incomplete: + { + size_t k = nstate; + /* Here 0 <= k < m < 4. */ + pstate[++k] = s[0]; + if (k < m) + { + pstate[++k] = s[1]; + if (k < m) + pstate[++k] = s[2]; + } + if (k != m) + abort (); } + pstate[0] = m; + return (size_t)(-2); + + invalid: + errno = EILSEQ; + /* The conversion state is undefined, says POSIX. */ + return (size_t)(-1); } } diff --git a/gl/lib/memchr.valgrind b/gl/lib/memchr.valgrind index 60f247e1..1d60e29b 100644 --- a/gl/lib/memchr.valgrind +++ b/gl/lib/memchr.valgrind @@ -1,4 +1,20 @@ # Suppress a valgrind message about use of uninitialized memory in memchr(). + +# Copyright (C) 2009-2019 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + # POSIX states that when the character is found, memchr must not read extra # bytes in an overestimated length (for example, where memchr is used to # implement strnlen). However, we use a safe word read to provide a speedup. diff --git a/gl/lib/msvc-inval.h b/gl/lib/msvc-inval.h index e31cf650..9d3aa1f7 100644 --- a/gl/lib/msvc-inval.h +++ b/gl/lib/msvc-inval.h @@ -95,7 +95,7 @@ extern void gl_msvc_inval_ensure_handler (void); /* Gnulib can define its own status codes, as described in the page "Raising Software Exceptions" on microsoft.com - <https://msdn.microsoft.com/en-us/library/het71c37.aspx>. + <https://docs.microsoft.com/en-us/cpp/cpp/raising-software-exceptions>. Our status codes are composed of - 0xE0000000, mandatory for all user-defined status codes, - 0x474E550, a API identifier ("GNU"), @@ -106,7 +106,7 @@ extern void gl_msvc_inval_ensure_handler (void); # if defined _MSC_VER /* A compiler that supports __try/__except, as described in the page "try-except statement" on microsoft.com - <https://msdn.microsoft.com/en-us/library/s58ftw19.aspx>. + <https://docs.microsoft.com/en-us/cpp/cpp/try-except-statement>. With __try/__except, we can use the multithread-safe exception handling. */ # ifdef __cplusplus diff --git a/gl/lib/nanosleep.c b/gl/lib/nanosleep.c index 6f6cc89e..3150ff9b 100644 --- a/gl/lib/nanosleep.c +++ b/gl/lib/nanosleep.c @@ -194,7 +194,7 @@ static sig_atomic_t volatile suspended; /* Handle SIGCONT. */ -static void +static _GL_ASYNC_SAFE void sighandler (int sig) { suspended = 1; diff --git a/gl/lib/nl_langinfo.c b/gl/lib/nl_langinfo.c index e8a5595a..76579a8a 100644 --- a/gl/lib/nl_langinfo.c +++ b/gl/lib/nl_langinfo.c @@ -76,9 +76,15 @@ ctype_codeset (void) memmove (buf + 2, codeset, codesetlen + 1); else sprintf (buf + 2, "%u", GetACP ()); - codeset = memcpy (buf, "CP", 2); -# endif + /* For a locale name such as "French_France.65001", in Windows 10, + setlocale now returns "French_France.utf8" instead. */ + if (strcmp (buf + 2, "65001") == 0 || strcmp (buf + 2, "utf8") == 0) + return "UTF-8"; + else + return memcpy (buf, "CP", 2); +# else return codeset; +#endif } #endif diff --git a/gl/lib/openat.c b/gl/lib/openat.c index 4ab4a318..3431147b 100644 --- a/gl/lib/openat.c +++ b/gl/lib/openat.c @@ -46,6 +46,7 @@ orig_openat (int fd, char const *filename, int flags, mode_t mode) #include <stdarg.h> #include <stdbool.h> #include <stddef.h> +#include <stdlib.h> #include <string.h> #include <sys/stat.h> #include <errno.h> diff --git a/gl/lib/pathmax.h b/gl/lib/pathmax.h index 83b9491f..9463a1fb 100644 --- a/gl/lib/pathmax.h +++ b/gl/lib/pathmax.h @@ -68,7 +68,7 @@ # if defined _WIN32 && ! defined __CYGWIN__ /* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com, section "Maximum Path Length Limitation", - <https://msdn.microsoft.com/en-us/library/aa365247.aspx#maxpath> + <https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#maximum-path-length-limitation> explains that the maximum size of a filename, including the terminating NUL byte, is 260 = 3 + 256 + 1. This is the same value as diff --git a/gl/lib/rawmemchr.valgrind b/gl/lib/rawmemchr.valgrind index 63639236..3d91a727 100644 --- a/gl/lib/rawmemchr.valgrind +++ b/gl/lib/rawmemchr.valgrind @@ -1,4 +1,20 @@ # Suppress a valgrind message about use of uninitialized memory in rawmemchr(). + +# Copyright (C) 2008-2019 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + # This use is OK because it provides only a speedup. { rawmemchr-value4 diff --git a/gl/lib/regcomp.c b/gl/lib/regcomp.c index 10a0a49d..892139a0 100644 --- a/gl/lib/regcomp.c +++ b/gl/lib/regcomp.c @@ -1800,8 +1800,8 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) token->word_char = 0; #ifdef RE_ENABLE_I18N token->mb_partial = 0; - if (input->mb_cur_max > 1 && - !re_string_first_byte (input, re_string_cur_idx (input))) + if (input->mb_cur_max > 1 + && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; token->mb_partial = 1; @@ -1988,8 +1988,8 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) token->type = OP_PERIOD; break; case '^': - if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) && - re_string_cur_idx (input) != 0) + if (!(syntax & (RE_CONTEXT_INDEP_ANCHORS | RE_CARET_ANCHORS_HERE)) + && re_string_cur_idx (input) != 0) { char prev = re_string_peek_byte (input, -1); if (!(syntax & RE_NEWLINE_ALT) || prev != '\n') @@ -1999,8 +1999,8 @@ peek_token (re_token_t *token, re_string_t *input, reg_syntax_t syntax) token->opr.ctx_type = LINE_FIRST; break; case '$': - if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) && - re_string_cur_idx (input) + 1 != re_string_length (input)) + if (!(syntax & RE_CONTEXT_INDEP_ANCHORS) + && re_string_cur_idx (input) + 1 != re_string_length (input)) { re_token_t next; re_string_skip_bytes (input, 1); @@ -2034,8 +2034,8 @@ peek_token_bracket (re_token_t *token, re_string_t *input, reg_syntax_t syntax) token->opr.c = c; #ifdef RE_ENABLE_I18N - if (input->mb_cur_max > 1 && - !re_string_first_byte (input, re_string_cur_idx (input))) + if (input->mb_cur_max > 1 + && !re_string_first_byte (input, re_string_cur_idx (input))) { token->type = CHARACTER; return 1; @@ -2333,8 +2333,8 @@ parse_expression (re_string_t *regexp, regex_t *preg, re_token_t *token, } FALLTHROUGH; case OP_CLOSE_SUBEXP: - if ((token->type == OP_CLOSE_SUBEXP) && - !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)) + if ((token->type == OP_CLOSE_SUBEXP) + && !(syntax & RE_UNMATCHED_RIGHT_PAREN_ORD)) { *err = REG_ERPAREN; return NULL; diff --git a/gl/lib/regex_internal.c b/gl/lib/regex_internal.c index b592f067..0092cc2a 100644 --- a/gl/lib/regex_internal.c +++ b/gl/lib/regex_internal.c @@ -1311,7 +1311,6 @@ re_node_set_insert (re_node_set *set, Idx elem) first element separately to skip a check in the inner loop. */ if (elem < set->elems[0]) { - idx = 0; for (idx = set->nelem; idx > 0; idx--) set->elems[idx] = set->elems[idx - 1]; } @@ -1716,15 +1715,19 @@ create_cd_newstate (const re_dfa_t *dfa, const re_node_set *nodes, { if (newstate->entrance_nodes == &newstate->nodes) { - newstate->entrance_nodes = re_malloc (re_node_set, 1); - if (__glibc_unlikely (newstate->entrance_nodes == NULL)) + re_node_set *entrance_nodes = re_malloc (re_node_set, 1); + if (__glibc_unlikely (entrance_nodes == NULL)) { free_state (newstate); return NULL; } + newstate->entrance_nodes = entrance_nodes; if (re_node_set_init_copy (newstate->entrance_nodes, nodes) != REG_NOERROR) - return NULL; + { + free_state (newstate); + return NULL; + } nctx_nodes = 0; newstate->has_constraint = 1; } diff --git a/gl/lib/regexec.c b/gl/lib/regexec.c index 2f7cb5dc..f464869f 100644 --- a/gl/lib/regexec.c +++ b/gl/lib/regexec.c @@ -1293,8 +1293,10 @@ proceed_next_node (const re_match_context_t *mctx, Idx nregs, regmatch_t *regs, else if (naccepted) { char *buf = (char *) re_string_get_buffer (&mctx->input); - if (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx, - naccepted) != 0) + if (mctx->input.valid_len - *pidx < naccepted + || (memcmp (buf + regs[subexp_idx].rm_so, buf + *pidx, + naccepted) + != 0)) return -1; } } @@ -2202,9 +2204,9 @@ sift_states_iter_mb (const re_match_context_t *mctx, re_sift_context_t *sctx, int naccepted; /* Check the node can accept "multi byte". */ naccepted = check_node_accept_bytes (dfa, node_idx, &mctx->input, str_idx); - if (naccepted > 0 && str_idx + naccepted <= max_str_idx && - !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted], - dfa->nexts[node_idx])) + if (naccepted > 0 && str_idx + naccepted <= max_str_idx + && !STATE_NODE_CONTAINS (sctx->sifted_states[str_idx + naccepted], + dfa->nexts[node_idx])) /* The node can't accept the "multi byte", or the destination was already thrown away, then the node couldn't accept the current input "multi byte". */ @@ -3780,10 +3782,10 @@ check_node_accept_bytes (const re_dfa_t *dfa, Idx node_idx, /* FIXME: I don't think this if is needed, as both '\n' and '\0' are char_len == 1. */ /* '.' accepts any one character except the following two cases. */ - if ((!(dfa->syntax & RE_DOT_NEWLINE) && - re_string_byte_at (input, str_idx) == '\n') || - ((dfa->syntax & RE_DOT_NOT_NULL) && - re_string_byte_at (input, str_idx) == '\0')) + if ((!(dfa->syntax & RE_DOT_NEWLINE) + && re_string_byte_at (input, str_idx) == '\n') + || ((dfa->syntax & RE_DOT_NOT_NULL) + && re_string_byte_at (input, str_idx) == '\0')) return 0; return char_len; } diff --git a/gl/lib/stat-time.h b/gl/lib/stat-time.h index d4f1f961..38a1f55a 100644 --- a/gl/lib/stat-time.h +++ b/gl/lib/stat-time.h @@ -171,7 +171,7 @@ get_stat_birthtime (struct stat const *st _GL_UNUSED) #elif defined _WIN32 && ! defined __CYGWIN__ /* Native Windows platforms (but not Cygwin) put the "file creation time" in st_ctime (!). See - <https://msdn.microsoft.com/en-us/library/14h5k7ff(VS.80).aspx>. */ + <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/stat-functions>. */ # if _GL_WINDOWS_STAT_TIMESPEC t = st->st_ctim; # else diff --git a/gl/lib/stat-w32.c b/gl/lib/stat-w32.c index ffa99429..60fe5f6e 100644 --- a/gl/lib/stat-w32.c +++ b/gl/lib/stat-w32.c @@ -80,7 +80,7 @@ struct timespec _gl_convert_FILETIME_to_timespec (const FILETIME *ft) { struct timespec result; - /* FILETIME: <https://msdn.microsoft.com/en-us/library/ms724284.aspx> */ + /* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */ unsigned long long since_1601 = ((unsigned long long) ft->dwHighDateTime << 32) | (unsigned long long) ft->dwLowDateTime; @@ -104,7 +104,7 @@ _gl_convert_FILETIME_to_timespec (const FILETIME *ft) time_t _gl_convert_FILETIME_to_POSIX (const FILETIME *ft) { - /* FILETIME: <https://msdn.microsoft.com/en-us/library/ms724284.aspx> */ + /* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */ unsigned long long since_1601 = ((unsigned long long) ft->dwHighDateTime << 32) | (unsigned long long) ft->dwLowDateTime; @@ -128,7 +128,7 @@ int _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) { /* GetFileType - <https://msdn.microsoft.com/en-us/library/aa364960.aspx> */ + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfiletype> */ DWORD type = GetFileType (h); if (type == FILE_TYPE_DISK) { @@ -137,16 +137,16 @@ _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) /* st_mode can be determined through GetFileAttributesEx - <https://msdn.microsoft.com/en-us/library/aa364946.aspx> - <https://msdn.microsoft.com/en-us/library/aa365739.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileattributesexa> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_win32_file_attribute_data> or through GetFileInformationByHandle - <https://msdn.microsoft.com/en-us/library/aa364952.aspx> - <https://msdn.microsoft.com/en-us/library/aa363788.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information> or through GetFileInformationByHandleEx with argument FileBasicInfo - <https://msdn.microsoft.com/en-us/library/aa364953.aspx> - <https://msdn.microsoft.com/en-us/library/aa364217.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_basic_info> The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher. */ BY_HANDLE_FILE_INFORMATION info; if (! GetFileInformationByHandle (h, &info)) @@ -162,12 +162,12 @@ _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) #if _GL_WINDOWS_STAT_INODES /* st_ino can be determined through GetFileInformationByHandle - <https://msdn.microsoft.com/en-us/library/aa364952.aspx> - <https://msdn.microsoft.com/en-us/library/aa363788.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information> as 64 bits, or through GetFileInformationByHandleEx with argument FileIdInfo - <https://msdn.microsoft.com/en-us/library/aa364953.aspx> - <https://msdn.microsoft.com/en-us/library/hh802691.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_id_info> as 128 bits. The latter requires -D_WIN32_WINNT=_WIN32_WINNT_WIN8 or higher. */ /* Experiments show that GetFileInformationByHandleEx does not provide @@ -238,11 +238,11 @@ _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) If the file name is already known, use it. Otherwise, for non-empty files, it can be determined through GetFinalPathNameByHandle - <https://msdn.microsoft.com/en-us/library/aa364962.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfinalpathnamebyhandlea> or through GetFileInformationByHandleEx with argument FileNameInfo - <https://msdn.microsoft.com/en-us/library/aa364953.aspx> - <https://msdn.microsoft.com/en-us/library/aa364388.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_name_info> Both require -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher. */ if (info.nFileSizeHigh > 0 || info.nFileSizeLow > 0) { @@ -277,12 +277,12 @@ _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) /* st_nlink can be determined through GetFileInformationByHandle - <https://msdn.microsoft.com/en-us/library/aa364952.aspx> - <https://msdn.microsoft.com/en-us/library/aa363788.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information> or through GetFileInformationByHandleEx with argument FileStandardInfo - <https://msdn.microsoft.com/en-us/library/aa364953.aspx> - <https://msdn.microsoft.com/en-us/library/aa364401.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_standard_info> The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher. */ buf->st_nlink = (info.nNumberOfLinks > SHRT_MAX ? SHRT_MAX : info.nNumberOfLinks); @@ -295,19 +295,19 @@ _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) /* st_size can be determined through GetFileSizeEx - <https://msdn.microsoft.com/en-us/library/aa364957.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfilesizeex> or through GetFileAttributesEx - <https://msdn.microsoft.com/en-us/library/aa364946.aspx> - <https://msdn.microsoft.com/en-us/library/aa365739.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileattributesexa> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_win32_file_attribute_data> or through GetFileInformationByHandle - <https://msdn.microsoft.com/en-us/library/aa364952.aspx> - <https://msdn.microsoft.com/en-us/library/aa363788.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information> or through GetFileInformationByHandleEx with argument FileStandardInfo - <https://msdn.microsoft.com/en-us/library/aa364953.aspx> - <https://msdn.microsoft.com/en-us/library/aa364401.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_standard_info> The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher. */ if (sizeof (buf->st_size) <= 4) /* Range check already done above. */ @@ -317,19 +317,19 @@ _gl_fstat_by_handle (HANDLE h, const char *path, struct stat *buf) /* st_atime, st_mtime, st_ctime can be determined through GetFileTime - <https://msdn.microsoft.com/en-us/library/ms724320.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfiletime> or through GetFileAttributesEx - <https://msdn.microsoft.com/en-us/library/aa364946.aspx> - <https://msdn.microsoft.com/en-us/library/aa365739.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileattributesexa> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_win32_file_attribute_data> or through GetFileInformationByHandle - <https://msdn.microsoft.com/en-us/library/aa364952.aspx> - <https://msdn.microsoft.com/en-us/library/aa363788.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileinformationbyhandle> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/ns-fileapi-_by_handle_file_information> or through GetFileInformationByHandleEx with argument FileBasicInfo - <https://msdn.microsoft.com/en-us/library/aa364953.aspx> - <https://msdn.microsoft.com/en-us/library/aa364217.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-getfileinformationbyhandleex> + <https://docs.microsoft.com/en-us/windows/desktop/api/winbase/ns-winbase-_file_basic_info> The latter requires -D_WIN32_WINNT=_WIN32_WINNT_VISTA or higher. */ #if _GL_WINDOWS_STAT_TIMESPEC buf->st_atim = _gl_convert_FILETIME_to_timespec (&info.ftLastAccessTime); diff --git a/gl/lib/stat.c b/gl/lib/stat.c index 74f47954..1c28aa45 100644 --- a/gl/lib/stat.c +++ b/gl/lib/stat.c @@ -42,10 +42,14 @@ orig_stat (const char *filename, struct stat *buf) #endif /* Specification. */ +#ifdef __osf__ /* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc eliminates this include because of the preliminary #include <sys/stat.h> above. */ -#include "sys/stat.h" +# include "sys/stat.h" +#else +# include <sys/stat.h> +#endif #include "stat-time.h" @@ -107,7 +111,7 @@ rpl_stat (char const *name, struct stat *buf) <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00134.html> */ /* XXX Should we convert to wchar_t* and prepend '\\?\', in order to work around length limitations - <https://msdn.microsoft.com/en-us/library/aa365247.aspx> ? */ + <https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file> ? */ /* POSIX <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_13> specifies: "More than two leading <slash> characters shall be treated as @@ -190,8 +194,8 @@ rpl_stat (char const *name, struct stat *buf) /* Open a handle to the file. CreateFile - <https://msdn.microsoft.com/en-us/library/aa363858.aspx> - <https://msdn.microsoft.com/en-us/library/aa363874.aspx> */ + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfilea> + <https://docs.microsoft.com/en-us/windows/desktop/FileIO/creating-and-opening-files> */ HANDLE h = CreateFile (rname, FILE_READ_ATTRIBUTES, @@ -232,13 +236,13 @@ rpl_stat (char const *name, struct stat *buf) /* Get the details about the directory entry. This can be done through FindFirstFile - <https://msdn.microsoft.com/en-us/library/aa364418.aspx> - <https://msdn.microsoft.com/en-us/library/aa365740.aspx> + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-findfirstfilea> + <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-_win32_find_dataa> or through FindFirstFileEx with argument FindExInfoBasic - <https://msdn.microsoft.com/en-us/library/aa364419.aspx> - <https://msdn.microsoft.com/en-us/library/aa364415.aspx> - <https://msdn.microsoft.com/en-us/library/aa365740.aspx> */ + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-findfirstfileexa> + <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ne-minwinbase-findex_info_levels> + <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-_win32_find_dataa> */ WIN32_FIND_DATA info; HANDLE h = FindFirstFile (rname, &info); if (h == INVALID_HANDLE_VALUE) diff --git a/gl/lib/stdio.in.h b/gl/lib/stdio.in.h index acf29c4b..4a8aa555 100644 --- a/gl/lib/stdio.in.h +++ b/gl/lib/stdio.in.h @@ -118,6 +118,13 @@ # include <unistd.h> #endif +/* Android 4.3 declares renameat in <sys/stat.h>, not in <stdio.h>. */ +/* But in any case avoid namespace pollution on glibc systems. */ +#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ + && ! defined __GLIBC__ +# include <sys/stat.h> +#endif + /* MSVC declares 'perror' in <stdlib.h>, not in <stdio.h>. We must include it before we #define perror rpl_perror. */ /* But in any case avoid namespace pollution on glibc systems. */ diff --git a/gl/lib/stdlib.in.h b/gl/lib/stdlib.in.h index d80d7ec6..f829525c 100644 --- a/gl/lib/stdlib.in.h +++ b/gl/lib/stdlib.in.h @@ -306,9 +306,18 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " _GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); _GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); # else +# if !@HAVE_MBTOWC@ +_GL_FUNCDECL_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); +# endif _GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n)); # endif _GL_CXXALIASWARN (mbtowc); +#elif defined GNULIB_POSIXCHECK +# undef mbtowc +# if HAVE_RAW_DECL_MBTOWC +_GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - " + "use gnulib module mbtowc for portability"); +# endif #endif #if @GNULIB_MKDTEMP@ @@ -573,10 +582,19 @@ _GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - " #if @GNULIB_RANDOM@ -# if !@HAVE_RANDOM@ +# if @REPLACE_RANDOM@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef random +# define random rpl_random +# endif +_GL_FUNCDECL_RPL (random, long, (void)); +_GL_CXXALIAS_RPL (random, long, (void)); +# else +# if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (random, long, (void)); -# endif +# endif _GL_CXXALIAS_SYS (random, long, (void)); +# endif _GL_CXXALIASWARN (random); #elif defined GNULIB_POSIXCHECK # undef random @@ -587,10 +605,19 @@ _GL_WARN_ON_USE (random, "random is unportable - " #endif #if @GNULIB_RANDOM@ -# if !@HAVE_RANDOM@ +# if @REPLACE_RANDOM@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef srandom +# define srandom rpl_srandom +# endif +_GL_FUNCDECL_RPL (srandom, void, (unsigned int seed)); +_GL_CXXALIAS_RPL (srandom, void, (unsigned int seed)); +# else +# if !@HAVE_RANDOM@ _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed)); -# endif +# endif _GL_CXXALIAS_SYS (srandom, void, (unsigned int seed)); +# endif _GL_CXXALIASWARN (srandom); #elif defined GNULIB_POSIXCHECK # undef srandom @@ -601,31 +628,52 @@ _GL_WARN_ON_USE (srandom, "srandom is unportable - " #endif #if @GNULIB_RANDOM@ -# if !@HAVE_RANDOM@ || !@HAVE_DECL_INITSTATE@ +# if @REPLACE_INITSTATE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef initstate +# define initstate rpl_initstate +# endif +_GL_FUNCDECL_RPL (initstate, char *, + (unsigned int seed, char *buf, size_t buf_size) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (initstate, char *, + (unsigned int seed, char *buf, size_t buf_size)); +# else +# if !@HAVE_INITSTATE@ || !@HAVE_DECL_INITSTATE@ _GL_FUNCDECL_SYS (initstate, char *, (unsigned int seed, char *buf, size_t buf_size) _GL_ARG_NONNULL ((2))); -# endif +# endif _GL_CXXALIAS_SYS (initstate, char *, (unsigned int seed, char *buf, size_t buf_size)); +# endif _GL_CXXALIASWARN (initstate); #elif defined GNULIB_POSIXCHECK # undef initstate -# if HAVE_RAW_DECL_INITSTATE_R +# if HAVE_RAW_DECL_INITSTATE _GL_WARN_ON_USE (initstate, "initstate is unportable - " "use gnulib module random for portability"); # endif #endif #if @GNULIB_RANDOM@ -# if !@HAVE_RANDOM@ || !@HAVE_DECL_SETSTATE@ +# if @REPLACE_SETSTATE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef setstate +# define setstate rpl_setstate +# endif +_GL_FUNCDECL_RPL (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (setstate, char *, (char *arg_state)); +# else +# if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@ _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (setstate, char *, (char *arg_state)); +# endif _GL_CXXALIASWARN (setstate); #elif defined GNULIB_POSIXCHECK # undef setstate -# if HAVE_RAW_DECL_SETSTATE_R +# if HAVE_RAW_DECL_SETSTATE _GL_WARN_ON_USE (setstate, "setstate is unportable - " "use gnulib module random for portability"); # endif @@ -881,6 +929,7 @@ _GL_WARN_ON_USE (setenv, "setenv is unportable - " # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define strtod rpl_strtod # endif +# define GNULIB_defined_strtod_function 1 _GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp)); @@ -900,6 +949,32 @@ _GL_WARN_ON_USE (strtod, "strtod is unportable - " # endif #endif +#if @GNULIB_STRTOLD@ + /* Parse a 'long double' from STRING, updating ENDP if appropriate. */ +# if @REPLACE_STRTOLD@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strtold rpl_strtold +# endif +# define GNULIB_defined_strtold_function 1 +_GL_FUNCDECL_RPL (strtold, long double, (const char *str, char **endp) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (strtold, long double, (const char *str, char **endp)); +# else +# if !@HAVE_STRTOLD@ +_GL_FUNCDECL_SYS (strtold, long double, (const char *str, char **endp) + _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (strtold, long double, (const char *str, char **endp)); +# endif +_GL_CXXALIASWARN (strtold); +#elif defined GNULIB_POSIXCHECK +# undef strtold +# if HAVE_RAW_DECL_STRTOLD +_GL_WARN_ON_USE (strtold, "strtold is unportable - " + "use gnulib module strtold for portability"); +# endif +#endif + #if @GNULIB_STRTOLL@ /* Parse a signed integer whose textual representation starts at STRING. The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0, diff --git a/gl/lib/str-two-way.h b/gl/lib/str-two-way.h index 9155e6b5..7078c34b 100644 --- a/gl/lib/str-two-way.h +++ b/gl/lib/str-two-way.h @@ -18,7 +18,7 @@ /* Before including this file, you need to include <config.h> and <string.h>, and define: - RESULT_TYPE A macro that expands to the return type. + RETURN_TYPE A macro that expands to the return type. AVAILABLE(h, h_l, j, n_l) A macro that returns nonzero if there are at least N_L bytes left starting at H[J]. diff --git a/gl/lib/strchrnul.valgrind b/gl/lib/strchrnul.valgrind index b14fa130..781d037b 100644 --- a/gl/lib/strchrnul.valgrind +++ b/gl/lib/strchrnul.valgrind @@ -1,4 +1,20 @@ # Suppress a valgrind message about use of uninitialized memory in strchrnul(). + +# Copyright (C) 2008-2019 Free Software Foundation, Inc. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + # This use is OK because it provides only a speedup. { strchrnul-value4 diff --git a/gl/lib/sys_socket.in.h b/gl/lib/sys_socket.in.h index a0228418..654932c4 100644 --- a/gl/lib/sys_socket.in.h +++ b/gl/lib/sys_socket.in.h @@ -169,7 +169,7 @@ struct sockaddr_storage code may not run on older Windows releases then. My Windows 2000 box was not able to run the code, for example. The situation is slightly confusing because - <https://msdn.microsoft.com/en-us/library/ms738520> + <https://docs.microsoft.com/en-us/windows/desktop/api/ws2tcpip/nf-ws2tcpip-getaddrinfo> suggests that getaddrinfo should be available on all Windows releases. */ diff --git a/gl/lib/unistd.in.h b/gl/lib/unistd.in.h index a10ca28a..59ee39ec 100644 --- a/gl/lib/unistd.in.h +++ b/gl/lib/unistd.in.h @@ -52,7 +52,10 @@ #define _@GUARD_PREFIX@_UNISTD_H /* NetBSD 5.0 mis-defines NULL. Also get size_t. */ -#include <stddef.h> +/* But avoid namespace pollution on glibc systems. */ +#ifndef __GLIBC__ +# include <stddef.h> +#endif /* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>. */ /* MSVC declares 'unlink' in <stdio.h>, not in <unistd.h>. We must include @@ -68,9 +71,11 @@ # include <stdio.h> #endif -/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */ +/* Cygwin 1.7.1 and Android 4.3 declare unlinkat in <fcntl.h>, not in + <unistd.h>. */ /* But avoid namespace pollution on glibc systems. */ -#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \ +#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) \ + && (defined __CYGWIN__ || defined __ANDROID__) \ && ! defined __GLIBC__ # include <fcntl.h> #endif @@ -113,17 +118,18 @@ # include <netdb.h> #endif -/* MSVC defines off_t in <sys/types.h>. - May also define off_t to a 64-bit type on native Windows. */ -#if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@ -/* Get off_t. */ -# include <sys/types.h> +/* Android 4.3 declares fchownat in <sys/stat.h>, not in <unistd.h>. */ +/* But avoid namespace pollution on glibc systems. */ +#if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \ + && !defined __GLIBC__ +# include <sys/stat.h> #endif -#if (@GNULIB_READ@ || @GNULIB_WRITE@ \ - || @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \ - || @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK) -/* Get ssize_t. */ +/* MSVC defines off_t in <sys/types.h>. + May also define off_t to a 64-bit type on native Windows. */ +/* But avoid namespace pollution on glibc systems. */ +#ifndef __GLIBC__ +/* Get off_t, ssize_t. */ # include <sys/types.h> #endif @@ -322,6 +328,24 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - " #endif +#if @GNULIB_COPY_FILE_RANGE@ +# if !@HAVE_COPY_FILE_RANGE@ +_GL_FUNCDECL_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, + int ofd, off_t *opos, + size_t len, unsigned flags)); +_GL_CXXALIAS_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos, + int ofd, off_t *opos, + size_t len, unsigned flags)); +# endif +_GL_CXXALIASWARN (copy_file_range); +#elif defined GNULIB_POSIXCHECK +/* Assume copy_file_range is always declared. */ +_GL_WARN_ON_USE (copy_file_range, + "copy_file_range is unportable - " + "use gnulib module copy_file_range for portability"); +#endif + + #if @GNULIB_DUP@ # if @REPLACE_DUP@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) diff --git a/gl/lib/utime.c b/gl/lib/utime.c index 88973e13..6d29045e 100644 --- a/gl/lib/utime.c +++ b/gl/lib/utime.c @@ -83,8 +83,8 @@ _gl_utimens_windows (const char *name, struct timespec ts[2]) /* Open a handle to the file. CreateFile - <https://msdn.microsoft.com/en-us/library/aa363858.aspx> - <https://msdn.microsoft.com/en-us/library/aa363874.aspx> */ + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-createfilea> + <https://docs.microsoft.com/en-us/windows/desktop/FileIO/creating-and-opening-files> */ HANDLE handle = CreateFile (rname, FILE_READ_ATTRIBUTES | FILE_WRITE_ATTRIBUTES, @@ -105,7 +105,7 @@ _gl_utimens_windows (const char *name, struct timespec ts[2]) if (check_dir) { /* GetFileAttributes - <https://msdn.microsoft.com/en-us/library/aa364944.aspx> */ + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-getfileattributesa> */ DWORD attributes = GetFileAttributes (rname); if (attributes == INVALID_FILE_ATTRIBUTES) { @@ -125,18 +125,18 @@ _gl_utimens_windows (const char *name, struct timespec ts[2]) { /* Use SetFileTime(). See - <https://msdn.microsoft.com/en-us/library/ms724933.aspx> - <https://msdn.microsoft.com/en-us/library/ms724284.aspx> */ + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-setfiletime> + <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */ FILETIME last_access_time; FILETIME last_write_time; if (ts == NULL) { /* GetSystemTimeAsFileTime is the same as GetSystemTime followed by SystemTimeToFileTime. - <https://msdn.microsoft.com/en-us/library/ms724397.aspx>. + <https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime>. It would be overkill to use GetSystemTimePreciseAsFileTime - <https://msdn.microsoft.com/en-us/library/hh706895.aspx>. */ + <https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime>. */ FILETIME current_time; GetSystemTimeAsFileTime (¤t_time); last_access_time = current_time; diff --git a/gl/lib/utimens.c b/gl/lib/utimens.c index e8240b49..419ee356 100644 --- a/gl/lib/utimens.c +++ b/gl/lib/utimens.c @@ -300,8 +300,8 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2]) #ifdef USE_SETFILETIME /* On native Windows, use SetFileTime(). See - <https://msdn.microsoft.com/en-us/library/ms724933.aspx> - <https://msdn.microsoft.com/en-us/library/ms724284.aspx> */ + <https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-setfiletime> + <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */ if (0 <= fd) { HANDLE handle; @@ -319,10 +319,10 @@ fdutimens (int fd, char const *file, struct timespec const timespec[2]) if (ts == NULL || ts[0].tv_nsec == UTIME_NOW || ts[1].tv_nsec == UTIME_NOW) { /* GetSystemTimeAsFileTime - <https://msdn.microsoft.com/en-us/library/ms724397.aspx>. + <https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime>. It would be overkill to use GetSystemTimePreciseAsFileTime - <https://msdn.microsoft.com/en-us/library/hh706895.aspx>. */ + <https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime>. */ GetSystemTimeAsFileTime (¤t_time); } diff --git a/gl/lib/vasnprintf.c b/gl/lib/vasnprintf.c index f1f47f0d..b3854e3e 100644 --- a/gl/lib/vasnprintf.c +++ b/gl/lib/vasnprintf.c @@ -4917,7 +4917,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp, Windows Vista, the use of %n in format strings by default crashes the program. See <https://gcc.gnu.org/ml/gcc/2007-06/msg00122.html> and - <https://msdn.microsoft.com/en-us/library/ms175782.aspx> + <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/set-printf-count-output> So we should avoid %n in this situation. */ fbp[1] = '\0'; # endif diff --git a/gl/lib/verify.h b/gl/lib/verify.h index 6930645a..afdc1ad8 100644 --- a/gl/lib/verify.h +++ b/gl/lib/verify.h @@ -21,29 +21,37 @@ #define _GL_VERIFY_H -/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11. - This is supported by GCC 4.6.0 and later, in C mode, and its use - here generates easier-to-read diagnostics when verify (R) fails. - - Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11. - This is supported by GCC 6.1.0 and later, in C++ mode. - - Use this only with GCC. If we were willing to slow 'configure' - down we could also use it with other compilers, but since this - affects only the quality of diagnostics, why bother? */ -#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \ - && (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \ - && !defined __cplusplus) -# define _GL_HAVE__STATIC_ASSERT 1 -#endif -#if (6 <= __GNUC__) && defined __cplusplus -# define _GL_HAVE_STATIC_ASSERT 1 +/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert (R, DIAGNOSTIC) + works as per C11. This is supported by GCC 4.6.0 and later, in C + mode. + + Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as + per C2X, and define _GL_HAVE_STATIC_ASSERT1 if static_assert (R) + works as per C++17. This is supported by GCC 9.1 and later. + + Support compilers claiming conformance to the relevant standard, + and also support GCC when not pedantic. If we were willing to slow + 'configure' down we could also use it with other compilers, but + since this affects only the quality of diagnostics, why bother? */ +#ifndef __cplusplus +# if (201112L <= __STDC_VERSION__ \ + || (!defined __STRICT_ANSI__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__))) +# define _GL_HAVE__STATIC_ASSERT 1 +# endif +# if (202000L <= __STDC_VERSION__ \ + || (!defined __STRICT_ANSI__ && 9 <= __GNUC__)) +# define _GL_HAVE__STATIC_ASSERT1 1 +# endif +#else +# if 201703L <= __cplusplus || 9 <= __GNUC__ +# define _GL_HAVE_STATIC_ASSERT1 1 +# endif #endif /* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other system headers, defines a conflicting _Static_assert that is no better than ours; override it. */ -#ifndef _GL_HAVE_STATIC_ASSERT +#ifndef _GL_HAVE__STATIC_ASSERT # include <stddef.h> # undef _Static_assert #endif @@ -141,9 +149,9 @@ which do not support _Static_assert, also do not warn about the last declaration mentioned above. - * GCC warns if -Wnested-externs is enabled and verify() is used + * GCC warns if -Wnested-externs is enabled and 'verify' is used within a function body; but inside a function, you can always - arrange to use verify_expr() instead. + arrange to use verify_expr instead. * In C++, any struct definition inside sizeof is invalid. Use a template type to work around the problem. */ @@ -195,26 +203,30 @@ template <int w> #endif /* Verify requirement R at compile-time, as a declaration without a - trailing ';'. If R is false, fail at compile-time, preferably - with a diagnostic that includes the string-literal DIAGNOSTIC. + trailing ';'. If R is false, fail at compile-time. + + This macro requires three or more arguments but uses at most the first + two, so that the _Static_assert macro optionally defined below supports + both the C11 two-argument syntax and the C2X one-argument syntax. Unfortunately, unlike C11, this implementation must appear as an ordinary declaration, and cannot appear inside struct { ... }. */ -#ifdef _GL_HAVE__STATIC_ASSERT -# define _GL_VERIFY _Static_assert +#if defined _GL_HAVE__STATIC_ASSERT +# define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC) #else -# define _GL_VERIFY(R, DIAGNOSTIC) \ +# define _GL_VERIFY(R, DIAGNOSTIC, ...) \ extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] #endif /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ #ifdef _GL_STATIC_ASSERT_H -# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert -# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC) +# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert +# define _Static_assert(...) \ + _GL_VERIFY (__VA_ARGS__, "static assertion failed", -) # endif -# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert +# if !defined _GL_HAVE_STATIC_ASSERT1 && !defined static_assert # define static_assert _Static_assert /* C11 requires this #define. */ # endif #endif @@ -226,17 +238,10 @@ template <int w> assert (R), there is no run-time overhead. There are two macros, since no single macro can be used in all - contexts in C. verify_true (R) is for scalar contexts, including + contexts in C. verify_expr (R, E) is for scalar contexts, including integer constant expression contexts. verify (R) is for declaration contexts, e.g., the top level. */ -/* Verify requirement R at compile-time, as an integer constant expression. - Return 1. This is equivalent to verify_expr (R, 1). - - verify_true is obsolescent; please use verify_expr instead. */ - -#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")") - /* Verify requirement R at compile-time. Return the value of the expression E. */ @@ -244,22 +249,26 @@ template <int w> (_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E)) /* Verify requirement R at compile-time, as a declaration without a - trailing ';'. */ + trailing ';'. verify (R) acts like static_assert (R) except that + it is portable to C11/C++14 and earlier, it can issue better + diagnostics, and its name is shorter and may be more convenient. */ -#ifdef __GNUC__ -# define verify(R) _GL_VERIFY (R, "verify (" #R ")") +#ifdef __PGI +/* PGI barfs if R is long. */ +# define verify(R) _GL_VERIFY (R, "verify (...)", -) #else -/* PGI barfs if R is long. Play it safe. */ -# define verify(R) _GL_VERIFY (R, "verify (...)") +# define verify(R) _GL_VERIFY (R, "verify (" #R ")", -) #endif #ifndef __has_builtin # define __has_builtin(x) 0 #endif -/* Assume that R always holds. This lets the compiler optimize - accordingly. R should not have side-effects; it may or may not be - evaluated. Behavior is undefined if R is false. */ +/* Assume that R always holds. Behavior is undefined if R is false, + fails to evaluate, or has side effects. Although assuming R can + help a compiler generate better code or diagnostics, performance + can suffer if R uses hard-to-optimize features such as function + calls not inlined by the compiler. */ #if (__has_builtin (__builtin_unreachable) \ || 4 < __GNUC__ + (5 <= __GNUC_MINOR__)) diff --git a/gl/lib/wcrtomb.c b/gl/lib/wcrtomb.c index 9fc40cfc..8e56732b 100644 --- a/gl/lib/wcrtomb.c +++ b/gl/lib/wcrtomb.c @@ -27,8 +27,8 @@ size_t wcrtomb (char *s, wchar_t wc, mbstate_t *ps) { - /* This implementation of wcrtomb on top of wctomb() supports only - stateless encodings. ps must be in the initial state. */ + /* This implementation of wcrtomb supports only stateless encodings. + ps must be in the initial state. */ if (ps != NULL && !mbsinit (ps)) { errno = EINVAL; @@ -40,10 +40,21 @@ wcrtomb (char *s, wchar_t wc, mbstate_t *ps) return 1; else { +#if defined __ANDROID__ + /* Implement consistently with mbrtowc(): through a 1:1 correspondence, + as in ISO-8859-1. */ + if (wc >= 0 && wc <= 0xff) + { + *s = (unsigned char) wc; + return 1; + } +#else + /* Implement on top of wctomb(). */ int ret = wctomb (s, wc); if (ret >= 0) return ret; +#endif else { errno = EILSEQ; diff --git a/gl/lib/windows-initguard.h b/gl/lib/windows-initguard.h new file mode 100644 index 00000000..8aefd0b0 --- /dev/null +++ b/gl/lib/windows-initguard.h @@ -0,0 +1,35 @@ +/* Init guards, somewhat like spinlocks (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#ifndef _WINDOWS_INITGUARD_H +#define _WINDOWS_INITGUARD_H + +#define WIN32_LEAN_AND_MEAN /* avoid including junk */ +#include <windows.h> + +typedef struct + { + volatile int done; + volatile LONG started; + } + glwthread_initguard_t; + +#define GLWTHREAD_INITGUARD_INIT { 0, -1 } + +#endif /* _WINDOWS_INITGUARD_H */ diff --git a/gl/lib/windows-mutex.c b/gl/lib/windows-mutex.c new file mode 100644 index 00000000..94338816 --- /dev/null +++ b/gl/lib/windows-mutex.c @@ -0,0 +1,95 @@ +/* Plain mutexes (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#include <config.h> + +/* Specification. */ +#include "windows-mutex.h" + +#include <errno.h> + +void +glwthread_mutex_init (glwthread_mutex_t *mutex) +{ + InitializeCriticalSection (&mutex->lock); + mutex->guard.done = 1; +} + +int +glwthread_mutex_lock (glwthread_mutex_t *mutex) +{ + if (!mutex->guard.done) + { + if (InterlockedIncrement (&mutex->guard.started) == 0) + /* This thread is the first one to need this mutex. Initialize it. */ + glwthread_mutex_init (mutex); + else + { + /* Don't let mutex->guard.started grow and wrap around. */ + InterlockedDecrement (&mutex->guard.started); + /* Yield the CPU while waiting for another thread to finish + initializing this mutex. */ + while (!mutex->guard.done) + Sleep (0); + } + } + EnterCriticalSection (&mutex->lock); + return 0; +} + +int +glwthread_mutex_trylock (glwthread_mutex_t *mutex) +{ + if (!mutex->guard.done) + { + if (InterlockedIncrement (&mutex->guard.started) == 0) + /* This thread is the first one to need this mutex. Initialize it. */ + glwthread_mutex_init (mutex); + else + { + /* Don't let mutex->guard.started grow and wrap around. */ + InterlockedDecrement (&mutex->guard.started); + /* Let another thread finish initializing this mutex, and let it also + lock this mutex. */ + return EBUSY; + } + } + if (!TryEnterCriticalSection (&mutex->lock)) + return EBUSY; + return 0; +} + +int +glwthread_mutex_unlock (glwthread_mutex_t *mutex) +{ + if (!mutex->guard.done) + return EINVAL; + LeaveCriticalSection (&mutex->lock); + return 0; +} + +int +glwthread_mutex_destroy (glwthread_mutex_t *mutex) +{ + if (!mutex->guard.done) + return EINVAL; + DeleteCriticalSection (&mutex->lock); + mutex->guard.done = 0; + return 0; +} diff --git a/gl/lib/windows-mutex.h b/gl/lib/windows-mutex.h new file mode 100644 index 00000000..5364f92d --- /dev/null +++ b/gl/lib/windows-mutex.h @@ -0,0 +1,51 @@ +/* Plain mutexes (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#ifndef _WINDOWS_MUTEX_H +#define _WINDOWS_MUTEX_H + +#define WIN32_LEAN_AND_MEAN /* avoid including junk */ +#include <windows.h> + +#include "windows-initguard.h" + +typedef struct + { + glwthread_initguard_t guard; /* protects the initialization */ + CRITICAL_SECTION lock; + } + glwthread_mutex_t; + +#define GLWTHREAD_MUTEX_INIT { GLWTHREAD_INITGUARD_INIT } + +#ifdef __cplusplus +extern "C" { +#endif + +extern void glwthread_mutex_init (glwthread_mutex_t *mutex); +extern int glwthread_mutex_lock (glwthread_mutex_t *mutex); +extern int glwthread_mutex_trylock (glwthread_mutex_t *mutex); +extern int glwthread_mutex_unlock (glwthread_mutex_t *mutex); +extern int glwthread_mutex_destroy (glwthread_mutex_t *mutex); + +#ifdef __cplusplus +} +#endif + +#endif /* _WINDOWS_MUTEX_H */ diff --git a/gl/lib/windows-once.c b/gl/lib/windows-once.c new file mode 100644 index 00000000..455c50ef --- /dev/null +++ b/gl/lib/windows-once.c @@ -0,0 +1,62 @@ +/* Once-only control (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#include <config.h> + +/* Specification. */ +#include "windows-once.h" + +#include <stdlib.h> + +void +glwthread_once (glwthread_once_t *once_control, void (*initfunction) (void)) +{ + if (once_control->inited <= 0) + { + if (InterlockedIncrement (&once_control->started) == 0) + { + /* This thread is the first one to come to this once_control. */ + InitializeCriticalSection (&once_control->lock); + EnterCriticalSection (&once_control->lock); + once_control->inited = 0; + initfunction (); + once_control->inited = 1; + LeaveCriticalSection (&once_control->lock); + } + else + { + /* Don't let once_control->started grow and wrap around. */ + InterlockedDecrement (&once_control->started); + /* Some other thread has already started the initialization. + Yield the CPU while waiting for the other thread to finish + initializing and taking the lock. */ + while (once_control->inited < 0) + Sleep (0); + if (once_control->inited <= 0) + { + /* Take the lock. This blocks until the other thread has + finished calling the initfunction. */ + EnterCriticalSection (&once_control->lock); + LeaveCriticalSection (&once_control->lock); + if (!(once_control->inited > 0)) + abort (); + } + } + } +} diff --git a/gl/lib/windows-once.h b/gl/lib/windows-once.h new file mode 100644 index 00000000..15999839 --- /dev/null +++ b/gl/lib/windows-once.h @@ -0,0 +1,47 @@ +/* Once-only control (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#ifndef _WINDOWS_ONCE_H +#define _WINDOWS_ONCE_H + +#define WIN32_LEAN_AND_MEAN /* avoid including junk */ +#include <windows.h> + +typedef struct + { + volatile int inited; + volatile LONG started; + CRITICAL_SECTION lock; + } + glwthread_once_t; + +#define GLWTHREAD_ONCE_INIT { -1, -1 } + +#ifdef __cplusplus +extern "C" { +#endif + +extern void glwthread_once (glwthread_once_t *once_control, + void (*initfunction) (void)); + +#ifdef __cplusplus +} +#endif + +#endif /* _WINDOWS_ONCE_H */ diff --git a/gl/lib/windows-recmutex.c b/gl/lib/windows-recmutex.c new file mode 100644 index 00000000..7e6e4465 --- /dev/null +++ b/gl/lib/windows-recmutex.c @@ -0,0 +1,127 @@ +/* Plain recursive mutexes (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#include <config.h> + +/* Specification. */ +#include "windows-recmutex.h" + +#include <errno.h> + +void +glwthread_recmutex_init (glwthread_recmutex_t *mutex) +{ + mutex->owner = 0; + mutex->depth = 0; + InitializeCriticalSection (&mutex->lock); + mutex->guard.done = 1; +} + +int +glwthread_recmutex_lock (glwthread_recmutex_t *mutex) +{ + if (!mutex->guard.done) + { + if (InterlockedIncrement (&mutex->guard.started) == 0) + /* This thread is the first one to need this mutex. Initialize it. */ + glwthread_recmutex_init (mutex); + else + { + /* Don't let mutex->guard.started grow and wrap around. */ + InterlockedDecrement (&mutex->guard.started); + /* Yield the CPU while waiting for another thread to finish + initializing this mutex. */ + while (!mutex->guard.done) + Sleep (0); + } + } + { + DWORD self = GetCurrentThreadId (); + if (mutex->owner != self) + { + EnterCriticalSection (&mutex->lock); + mutex->owner = self; + } + if (++(mutex->depth) == 0) /* wraparound? */ + { + mutex->depth--; + return EAGAIN; + } + } + return 0; +} + +int +glwthread_recmutex_trylock (glwthread_recmutex_t *mutex) +{ + if (!mutex->guard.done) + { + if (InterlockedIncrement (&mutex->guard.started) == 0) + /* This thread is the first one to need this mutex. Initialize it. */ + glwthread_recmutex_init (mutex); + else + { + /* Don't let mutex->guard.started grow and wrap around. */ + InterlockedDecrement (&mutex->guard.started); + /* Let another thread finish initializing this mutex, and let it also + lock this mutex. */ + return EBUSY; + } + } + { + DWORD self = GetCurrentThreadId (); + if (mutex->owner != self) + { + if (!TryEnterCriticalSection (&mutex->lock)) + return EBUSY; + mutex->owner = self; + } + if (++(mutex->depth) == 0) /* wraparound? */ + { + mutex->depth--; + return EAGAIN; + } + } + return 0; +} + +int +glwthread_recmutex_unlock (glwthread_recmutex_t *mutex) +{ + if (mutex->owner != GetCurrentThreadId ()) + return EPERM; + if (mutex->depth == 0) + return EINVAL; + if (--(mutex->depth) == 0) + { + mutex->owner = 0; + LeaveCriticalSection (&mutex->lock); + } + return 0; +} + +int +glwthread_recmutex_destroy (glwthread_recmutex_t *mutex) +{ + if (mutex->owner != 0) + return EBUSY; + DeleteCriticalSection (&mutex->lock); + mutex->guard.done = 0; + return 0; +} diff --git a/gl/lib/windows-recmutex.h b/gl/lib/windows-recmutex.h new file mode 100644 index 00000000..d1431086 --- /dev/null +++ b/gl/lib/windows-recmutex.h @@ -0,0 +1,57 @@ +/* Plain recursive mutexes (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#ifndef _WINDOWS_RECMUTEX_H +#define _WINDOWS_RECMUTEX_H + +#define WIN32_LEAN_AND_MEAN /* avoid including junk */ +#include <windows.h> + +#include "windows-initguard.h" + +/* The native Windows documentation says that CRITICAL_SECTION already + implements a recursive lock. But we need not rely on it: It's easy to + implement a recursive lock without this assumption. */ + +typedef struct + { + glwthread_initguard_t guard; /* protects the initialization */ + DWORD owner; + unsigned long depth; + CRITICAL_SECTION lock; + } + glwthread_recmutex_t; + +#define GLWTHREAD_RECMUTEX_INIT { GLWTHREAD_INITGUARD_INIT, 0, 0 } + +#ifdef __cplusplus +extern "C" { +#endif + +extern void glwthread_recmutex_init (glwthread_recmutex_t *mutex); +extern int glwthread_recmutex_lock (glwthread_recmutex_t *mutex); +extern int glwthread_recmutex_trylock (glwthread_recmutex_t *mutex); +extern int glwthread_recmutex_unlock (glwthread_recmutex_t *mutex); +extern int glwthread_recmutex_destroy (glwthread_recmutex_t *mutex); + +#ifdef __cplusplus +} +#endif + +#endif /* _WINDOWS_RECMUTEX_H */ diff --git a/gl/lib/windows-rwlock.c b/gl/lib/windows-rwlock.c new file mode 100644 index 00000000..9207d1b9 --- /dev/null +++ b/gl/lib/windows-rwlock.c @@ -0,0 +1,373 @@ +/* Read-write locks (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#include <config.h> + +/* Specification. */ +#include "windows-rwlock.h" + +#include <errno.h> +#include <stdlib.h> + +/* In this file, the waitqueues are implemented as circular arrays. */ +#define glwthread_waitqueue_t glwthread_carray_waitqueue_t + +static void +glwthread_waitqueue_init (glwthread_waitqueue_t *wq) +{ + wq->array = NULL; + wq->count = 0; + wq->alloc = 0; + wq->offset = 0; +} + +/* Enqueues the current thread, represented by an event, in a wait queue. + Returns INVALID_HANDLE_VALUE if an allocation failure occurs. */ +static HANDLE +glwthread_waitqueue_add (glwthread_waitqueue_t *wq) +{ + HANDLE event; + unsigned int index; + + if (wq->count == wq->alloc) + { + unsigned int new_alloc = 2 * wq->alloc + 1; + HANDLE *new_array = + (HANDLE *) realloc (wq->array, new_alloc * sizeof (HANDLE)); + if (new_array == NULL) + /* No more memory. */ + return INVALID_HANDLE_VALUE; + /* Now is a good opportunity to rotate the array so that its contents + starts at offset 0. */ + if (wq->offset > 0) + { + unsigned int old_count = wq->count; + unsigned int old_alloc = wq->alloc; + unsigned int old_offset = wq->offset; + unsigned int i; + if (old_offset + old_count > old_alloc) + { + unsigned int limit = old_offset + old_count - old_alloc; + for (i = 0; i < limit; i++) + new_array[old_alloc + i] = new_array[i]; + } + for (i = 0; i < old_count; i++) + new_array[i] = new_array[old_offset + i]; + wq->offset = 0; + } + wq->array = new_array; + wq->alloc = new_alloc; + } + /* Whether the created event is a manual-reset one or an auto-reset one, + does not matter, since we will wait on it only once. */ + event = CreateEvent (NULL, TRUE, FALSE, NULL); + if (event == INVALID_HANDLE_VALUE) + /* No way to allocate an event. */ + return INVALID_HANDLE_VALUE; + index = wq->offset + wq->count; + if (index >= wq->alloc) + index -= wq->alloc; + wq->array[index] = event; + wq->count++; + return event; +} + +/* Notifies the first thread from a wait queue and dequeues it. */ +static void +glwthread_waitqueue_notify_first (glwthread_waitqueue_t *wq) +{ + SetEvent (wq->array[wq->offset + 0]); + wq->offset++; + wq->count--; + if (wq->count == 0 || wq->offset == wq->alloc) + wq->offset = 0; +} + +/* Notifies all threads from a wait queue and dequeues them all. */ +static void +glwthread_waitqueue_notify_all (glwthread_waitqueue_t *wq) +{ + unsigned int i; + + for (i = 0; i < wq->count; i++) + { + unsigned int index = wq->offset + i; + if (index >= wq->alloc) + index -= wq->alloc; + SetEvent (wq->array[index]); + } + wq->count = 0; + wq->offset = 0; +} + +void +glwthread_rwlock_init (glwthread_rwlock_t *lock) +{ + InitializeCriticalSection (&lock->lock); + glwthread_waitqueue_init (&lock->waiting_readers); + glwthread_waitqueue_init (&lock->waiting_writers); + lock->runcount = 0; + lock->guard.done = 1; +} + +int +glwthread_rwlock_rdlock (glwthread_rwlock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glwthread_rwlock_init (lock); + else + { + /* Don't let lock->guard.started grow and wrap around. */ + InterlockedDecrement (&lock->guard.started); + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + } + EnterCriticalSection (&lock->lock); + /* Test whether only readers are currently running, and whether the runcount + field will not overflow, and whether no writer is waiting. The latter + condition is because POSIX recommends that "write locks shall take + precedence over read locks", to avoid "writer starvation". */ + if (!(lock->runcount + 1 > 0 && lock->waiting_writers.count == 0)) + { + /* This thread has to wait for a while. Enqueue it among the + waiting_readers. */ + HANDLE event = glwthread_waitqueue_add (&lock->waiting_readers); + if (event != INVALID_HANDLE_VALUE) + { + DWORD result; + LeaveCriticalSection (&lock->lock); + /* Wait until another thread signals this event. */ + result = WaitForSingleObject (event, INFINITE); + if (result == WAIT_FAILED || result == WAIT_TIMEOUT) + abort (); + CloseHandle (event); + /* The thread which signalled the event already did the bookkeeping: + removed us from the waiting_readers, incremented lock->runcount. */ + if (!(lock->runcount > 0)) + abort (); + return 0; + } + else + { + /* Allocation failure. Weird. */ + do + { + LeaveCriticalSection (&lock->lock); + Sleep (1); + EnterCriticalSection (&lock->lock); + } + while (!(lock->runcount + 1 > 0)); + } + } + lock->runcount++; + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glwthread_rwlock_wrlock (glwthread_rwlock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glwthread_rwlock_init (lock); + else + { + /* Don't let lock->guard.started grow and wrap around. */ + InterlockedDecrement (&lock->guard.started); + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + } + EnterCriticalSection (&lock->lock); + /* Test whether no readers or writers are currently running. */ + if (!(lock->runcount == 0)) + { + /* This thread has to wait for a while. Enqueue it among the + waiting_writers. */ + HANDLE event = glwthread_waitqueue_add (&lock->waiting_writers); + if (event != INVALID_HANDLE_VALUE) + { + DWORD result; + LeaveCriticalSection (&lock->lock); + /* Wait until another thread signals this event. */ + result = WaitForSingleObject (event, INFINITE); + if (result == WAIT_FAILED || result == WAIT_TIMEOUT) + abort (); + CloseHandle (event); + /* The thread which signalled the event already did the bookkeeping: + removed us from the waiting_writers, set lock->runcount = -1. */ + if (!(lock->runcount == -1)) + abort (); + return 0; + } + else + { + /* Allocation failure. Weird. */ + do + { + LeaveCriticalSection (&lock->lock); + Sleep (1); + EnterCriticalSection (&lock->lock); + } + while (!(lock->runcount == 0)); + } + } + lock->runcount--; /* runcount becomes -1 */ + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glwthread_rwlock_tryrdlock (glwthread_rwlock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glwthread_rwlock_init (lock); + else + { + /* Don't let lock->guard.started grow and wrap around. */ + InterlockedDecrement (&lock->guard.started); + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + } + /* It's OK to wait for this critical section, because it is never taken for a + long time. */ + EnterCriticalSection (&lock->lock); + /* Test whether only readers are currently running, and whether the runcount + field will not overflow, and whether no writer is waiting. The latter + condition is because POSIX recommends that "write locks shall take + precedence over read locks", to avoid "writer starvation". */ + if (!(lock->runcount + 1 > 0 && lock->waiting_writers.count == 0)) + { + /* This thread would have to wait for a while. Return instead. */ + LeaveCriticalSection (&lock->lock); + return EBUSY; + } + lock->runcount++; + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glwthread_rwlock_trywrlock (glwthread_rwlock_t *lock) +{ + if (!lock->guard.done) + { + if (InterlockedIncrement (&lock->guard.started) == 0) + /* This thread is the first one to need this lock. Initialize it. */ + glwthread_rwlock_init (lock); + else + { + /* Don't let lock->guard.started grow and wrap around. */ + InterlockedDecrement (&lock->guard.started); + /* Yield the CPU while waiting for another thread to finish + initializing this lock. */ + while (!lock->guard.done) + Sleep (0); + } + } + /* It's OK to wait for this critical section, because it is never taken for a + long time. */ + EnterCriticalSection (&lock->lock); + /* Test whether no readers or writers are currently running. */ + if (!(lock->runcount == 0)) + { + /* This thread would have to wait for a while. Return instead. */ + LeaveCriticalSection (&lock->lock); + return EBUSY; + } + lock->runcount--; /* runcount becomes -1 */ + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glwthread_rwlock_unlock (glwthread_rwlock_t *lock) +{ + if (!lock->guard.done) + return EINVAL; + EnterCriticalSection (&lock->lock); + if (lock->runcount < 0) + { + /* Drop a writer lock. */ + if (!(lock->runcount == -1)) + abort (); + lock->runcount = 0; + } + else + { + /* Drop a reader lock. */ + if (!(lock->runcount > 0)) + { + LeaveCriticalSection (&lock->lock); + return EPERM; + } + lock->runcount--; + } + if (lock->runcount == 0) + { + /* POSIX recommends that "write locks shall take precedence over read + locks", to avoid "writer starvation". */ + if (lock->waiting_writers.count > 0) + { + /* Wake up one of the waiting writers. */ + lock->runcount--; + glwthread_waitqueue_notify_first (&lock->waiting_writers); + } + else + { + /* Wake up all waiting readers. */ + lock->runcount += lock->waiting_readers.count; + glwthread_waitqueue_notify_all (&lock->waiting_readers); + } + } + LeaveCriticalSection (&lock->lock); + return 0; +} + +int +glwthread_rwlock_destroy (glwthread_rwlock_t *lock) +{ + if (!lock->guard.done) + return EINVAL; + if (lock->runcount != 0) + return EBUSY; + DeleteCriticalSection (&lock->lock); + if (lock->waiting_readers.array != NULL) + free (lock->waiting_readers.array); + if (lock->waiting_writers.array != NULL) + free (lock->waiting_writers.array); + lock->guard.done = 0; + return 0; +} diff --git a/gl/lib/windows-rwlock.h b/gl/lib/windows-rwlock.h new file mode 100644 index 00000000..90020406 --- /dev/null +++ b/gl/lib/windows-rwlock.h @@ -0,0 +1,68 @@ +/* Read-write locks (native Windows implementation). + Copyright (C) 2005-2019 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see <https://www.gnu.org/licenses/>. */ + +/* Written by Bruno Haible <bruno@clisp.org>, 2005. + Based on GCC's gthr-win32.h. */ + +#ifndef _WINDOWS_RWLOCK_H +#define _WINDOWS_RWLOCK_H + +#define WIN32_LEAN_AND_MEAN /* avoid including junk */ +#include <windows.h> + +#include "windows-initguard.h" + +/* It is impossible to implement read-write locks using plain locks, without + introducing an extra thread dedicated to managing read-write locks. + Therefore here we need to use the low-level Event type. */ + +typedef struct + { + HANDLE *array; /* array of waiting threads, each represented by an event */ + unsigned int count; /* number of waiting threads */ + unsigned int alloc; /* length of allocated array */ + unsigned int offset; /* index of first waiting thread in array */ + } + glwthread_carray_waitqueue_t; +typedef struct + { + glwthread_initguard_t guard; /* protects the initialization */ + CRITICAL_SECTION lock; /* protects the remaining fields */ + glwthread_carray_waitqueue_t waiting_readers; /* waiting readers */ + glwthread_carray_waitqueue_t waiting_writers; /* waiting writers */ + int runcount; /* number of readers running, or -1 when a writer runs */ + } + glwthread_rwlock_t; + +#define GLWTHREAD_RWLOCK_INIT { GLWTHREAD_INITGUARD_INIT } + +#ifdef __cplusplus +extern "C" { +#endif + +extern void glwthread_rwlock_init (glwthread_rwlock_t *lock); +extern int glwthread_rwlock_rdlock (glwthread_rwlock_t *lock); +extern int glwthread_rwlock_wrlock (glwthread_rwlock_t *lock); +extern int glwthread_rwlock_tryrdlock (glwthread_rwlock_t *lock); +extern int glwthread_rwlock_trywrlock (glwthread_rwlock_t *lock); +extern int glwthread_rwlock_unlock (glwthread_rwlock_t *lock); +extern int glwthread_rwlock_destroy (glwthread_rwlock_t *lock); + +#ifdef __cplusplus +} +#endif + +#endif /* _WINDOWS_RWLOCK_H */ diff --git a/gl/m4/alloca.m4 b/gl/m4/alloca.m4 index 46d60f9c..29bd289b 100644 --- a/gl/m4/alloca.m4 +++ b/gl/m4/alloca.m4 @@ -1,4 +1,4 @@ -# alloca.m4 serial 14 +# alloca.m4 serial 15 dnl Copyright (C) 2002-2004, 2006-2007, 2009-2019 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation @@ -37,6 +37,13 @@ AC_DEFUN([gl_FUNC_ALLOCA], fi AC_SUBST([ALLOCA_H]) AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"]) + + if test $ac_cv_working_alloca_h = yes; then + HAVE_ALLOCA_H=1 + else + HAVE_ALLOCA_H=0 + fi + AC_SUBST([HAVE_ALLOCA_H]) ]) # Prerequisites of lib/alloca.c. diff --git a/gl/m4/canonicalize.m4 b/gl/m4/canonicalize.m4 index 5b6e25df..b61747bd 100644 --- a/gl/m4/canonicalize.m4 +++ b/gl/m4/canonicalize.m4 @@ -1,4 +1,4 @@ -# canonicalize.m4 serial 29 +# canonicalize.m4 serial 30 dnl Copyright (C) 2003-2007, 2009-2019 Free Software Foundation, Inc. @@ -113,6 +113,8 @@ AC_DEFUN([gl_FUNC_REALPATH_WORKS], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_realpath_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_realpath_works="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_realpath_works="guessing no" ;; # If we don't know, assume the worst. diff --git a/gl/m4/chown.m4 b/gl/m4/chown.m4 index d92fd1c1..b7983250 100644 --- a/gl/m4/chown.m4 +++ b/gl/m4/chown.m4 @@ -1,4 +1,4 @@ -# serial 30 +# serial 32 # Determine whether we need the chown wrapper. dnl Copyright (C) 1997-2001, 2003-2005, 2007, 2009-2019 Free Software @@ -109,10 +109,12 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN], [gl_cv_func_chown_slash_works=yes], [gl_cv_func_chown_slash_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_chown_slash_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_slash_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_chown_slash_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_slash_works="guessing no" ;; esac ]) rm -f conftest.link conftest.file]) @@ -145,10 +147,12 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN], [gl_cv_func_chown_ctime_works=yes], [gl_cv_func_chown_ctime_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_chown_ctime_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_chown_ctime_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_chown_ctime_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_chown_ctime_works="guessing no" ;; esac ]) rm -f conftest.file]) @@ -196,13 +200,16 @@ AC_DEFUN_ONCE([gl_FUNC_CHOWN_FOLLOWS_SYMLINK], ]])], [gl_cv_func_chown_follows_symlink=yes], [gl_cv_func_chown_follows_symlink=no], - [gl_cv_func_chown_follows_symlink=yes] + [gl_cv_func_chown_follows_symlink="guessing yes"] ) ] ) - if test $gl_cv_func_chown_follows_symlink = no; then - AC_DEFINE([CHOWN_MODIFIES_SYMLINK], [1], - [Define if chown modifies symlinks.]) - fi + case "$gl_cv_func_chown_follows_symlink" in + *yes) ;; + *) + AC_DEFINE([CHOWN_MODIFIES_SYMLINK], [1], + [Define if chown modifies symlinks.]) + ;; + esac ]) diff --git a/gl/m4/d-ino.m4 b/gl/m4/d-ino.m4 index f1420ccf..87dcacc8 100644 --- a/gl/m4/d-ino.m4 +++ b/gl/m4/d-ino.m4 @@ -1,4 +1,4 @@ -# serial 18 +# serial 19 dnl From Jim Meyering. dnl @@ -40,12 +40,14 @@ AC_DEFUN([gl_CHECK_TYPE_STRUCT_DIRENT_D_INO], [gl_cv_struct_dirent_d_ino=yes], [gl_cv_struct_dirent_d_ino=no], [case "$host_os" in - # Guess yes on glibc systems with Linux kernel. - linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; - # Guess no on native Windows. - mingw*) gl_cv_struct_dirent_d_ino="guessing no" ;; - # If we don't know, assume the worst. - *) gl_cv_struct_dirent_d_ino="guessing no" ;; + # Guess yes on glibc systems with Linux kernel. + linux*-gnu*) gl_cv_struct_dirent_d_ino="guessing yes" ;; + # Guess yes on musl systems with Linux kernel. + linux*-musl*) gl_cv_struct_dirent_d_ino="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_struct_dirent_d_ino="guessing no" ;; + # If we don't know, assume the worst. + *) gl_cv_struct_dirent_d_ino="guessing no" ;; esac ])]) case "$gl_cv_struct_dirent_d_ino" in diff --git a/gl/m4/fdopendir.m4 b/gl/m4/fdopendir.m4 index 04905519..b2b3b037 100644 --- a/gl/m4/fdopendir.m4 +++ b/gl/m4/fdopendir.m4 @@ -1,4 +1,4 @@ -# serial 10 +# serial 11 # See if we need to provide fdopendir. dnl Copyright (C) 2009-2019 Free Software Foundation, Inc. @@ -45,10 +45,12 @@ DIR *fdopendir (int); [gl_cv_func_fdopendir_works=yes], [gl_cv_func_fdopendir_works=no], [case "$host_os" in - # Guess yes on glibc systems. - *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; - # If we don't know, assume the worst. - *) gl_cv_func_fdopendir_works="guessing no" ;; + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_fdopendir_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_fdopendir_works="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_fdopendir_works="guessing no" ;; esac ])]) case "$gl_cv_func_fdopendir_works" in diff --git a/gl/m4/flexmember.m4 b/gl/m4/flexmember.m4 index 1347068f..c245ab02 100644 --- a/gl/m4/flexmember.m4 +++ b/gl/m4/flexmember.m4 @@ -34,12 +34,10 @@ AC_DEFUN([AC_C_FLEXIBLE_ARRAY_MEMBER], AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [], [Define to nothing if C supports flexible array members, and to 1 if it does not. That way, with a declaration like 'struct s - { int n; double d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack + { int n; short d@<:@FLEXIBLE_ARRAY_MEMBER@:>@; };', the struct hack can be used with pre-C99 compilers. - When computing the size of such an object, don't use 'sizeof (struct s)' - as it overestimates the size. Use 'offsetof (struct s, d)' instead. - Don't use 'offsetof (struct s, d@<:@0@:>@)', as this doesn't work with - MSVC and with C++ compilers.]) + Use 'FLEXSIZEOF (struct s, d, N * sizeof (short))' to calculate + the size in bytes of such a struct containing an N-element array.]) else AC_DEFINE([FLEXIBLE_ARRAY_MEMBER], [1]) fi diff --git a/gl/m4/fnmatch.m4 b/gl/m4/fnmatch.m4 index c264ca71..75ba55b4 100644 --- a/gl/m4/fnmatch.m4 +++ b/gl/m4/fnmatch.m4 @@ -1,4 +1,4 @@ -# Check for fnmatch - serial 13. -*- coding: utf-8 -*- +# Check for fnmatch - serial 14. -*- coding: utf-8 -*- # Copyright (C) 2000-2007, 2009-2019 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX], m4_divert_text([DEFAULTS], [gl_fnmatch_required=POSIX]) AC_REQUIRE([gl_FNMATCH_H]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles gl_fnmatch_required_lowercase=` echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]' ` @@ -117,12 +118,19 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX], ]])], [eval "$gl_fnmatch_cache_var=yes"], [eval "$gl_fnmatch_cache_var=no"], - [eval "$gl_fnmatch_cache_var=\"guessing no\""]) + [case "$host_os" in + # Guess yes on musl systems. + *-musl*) eval "$gl_fnmatch_cache_var=\"guessing yes\"" ;; + # Guess no otherwise, even on glibc systems. + *) eval "$gl_fnmatch_cache_var=\"guessing no\"" ;; + esac + ]) ]) eval "gl_fnmatch_result=\"\$$gl_fnmatch_cache_var\"" - if test "$gl_fnmatch_result" != yes; then - REPLACE_FNMATCH=1 - fi + case "$gl_fnmatch_result" in + *yes) ;; + *) REPLACE_FNMATCH=1 ;; + esac fi if test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1; then gl_REPLACE_FNMATCH_H diff --git a/gl/m4/futimens.m4 b/gl/m4/futimens.m4 index 3cfa4a19..b5f4be93 100644 --- a/gl/m4/futimens.m4 +++ b/gl/m4/futimens.m4 @@ -1,4 +1,4 @@ -# serial 7 +# serial 8 # See if we need to provide futimens replacement. dnl Copyright (C) 2009-2019 Free Software Foundation, Inc. @@ -11,6 +11,7 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_FUTIMENS], [ AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) AC_CHECK_FUNCS_ONCE([futimens]) if test $ac_cv_func_futimens = no; then @@ -44,10 +45,21 @@ AC_DEFUN([gl_FUNC_FUTIMENS], ]])], [gl_cv_func_futimens_works=yes], [gl_cv_func_futimens_works=no], - [gl_cv_func_futimens_works="guessing yes"]) + [case "$host_os" in + # Guess no on glibc systems. + *-gnu* | gnu*) gl_cv_func_futimens_works="guessing no" ;; + # Guess no on musl systems. + *-musl*) gl_cv_func_futimens_works="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_futimens_works="guessing yes" ;; + esac + ]) rm -f conftest.file]) - if test "$gl_cv_func_futimens_works" = no; then - REPLACE_FUTIMENS=1 - fi + case "$gl_cv_func_futimens_works" in + *yes) ;; + *) + REPLACE_FUTIMENS=1 + ;; + esac fi ]) diff --git a/gl/m4/getcwd-abort-bug.m4 b/gl/m4/getcwd-abort-bug.m4 index 7929b674..7227f08c 100644 --- a/gl/m4/getcwd-abort-bug.m4 +++ b/gl/m4/getcwd-abort-bug.m4 @@ -1,4 +1,4 @@ -# serial 9 +# serial 11 # Determine whether getcwd aborts when the length of the working directory # name is unusually large. Any length between 4k and 16k trigger the bug # when using glibc-2.4.90-9 or older. @@ -13,6 +13,7 @@ # gl_FUNC_GETCWD_ABORT_BUG([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) AC_DEFUN([gl_FUNC_GETCWD_ABORT_BUG], [ + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CHECK_DECLS_ONCE([getcwd]) AC_CHECK_HEADERS_ONCE([unistd.h]) AC_REQUIRE([gl_PATHMAX_SNIPPET_PREREQ]) @@ -139,8 +140,22 @@ main () gl_cv_func_getcwd_abort_bug=yes else gl_cv_func_getcwd_abort_bug=no - fi], - [gl_cv_func_getcwd_abort_bug=yes]) + fi + ], + [case "$host_os" in + # Guess no on musl systems. + *-musl*) gl_cv_func_getcwd_abort_bug="guessing no" ;; + # Guess yes otherwise, even on glibc systems. + *) gl_cv_func_getcwd_abort_bug="guessing yes" + esac + ]) ]) - AS_IF([test $gl_cv_func_getcwd_abort_bug = yes], [$1], [$2]) + case "$gl_cv_func_getcwd_abort_bug" in + *yes) + $1 + ;; + *) + $2 + ;; + esac ]) diff --git a/gl/m4/getcwd.m4 b/gl/m4/getcwd.m4 index 4929b511..625171a2 100644 --- a/gl/m4/getcwd.m4 +++ b/gl/m4/getcwd.m4 @@ -6,7 +6,7 @@ # with or without modifications, as long as this notice is preserved. # Written by Paul Eggert. -# serial 16 +# serial 17 AC_DEFUN([gl_FUNC_GETCWD_NULL], [ @@ -50,6 +50,8 @@ AC_DEFUN([gl_FUNC_GETCWD_NULL], [[case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_getcwd_null="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_getcwd_null="guessing yes";; # Guess yes on Cygwin. cygwin*) gl_cv_func_getcwd_null="guessing yes";; # If we don't know, assume the worst. diff --git a/gl/m4/getdelim.m4 b/gl/m4/getdelim.m4 index bf17c572..e77c3796 100644 --- a/gl/m4/getdelim.m4 +++ b/gl/m4/getdelim.m4 @@ -1,4 +1,4 @@ -# getdelim.m4 serial 12 +# getdelim.m4 serial 13 dnl Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc. dnl @@ -11,6 +11,7 @@ AC_PREREQ([2.59]) AC_DEFUN([gl_FUNC_GETDELIM], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Persuade glibc <stdio.h> to declare getdelim(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) @@ -21,9 +22,10 @@ AC_DEFUN([gl_FUNC_GETDELIM], if test $ac_cv_func_getdelim = yes; then HAVE_GETDELIM=1 dnl Found it in some library. Verify that it works. - AC_CACHE_CHECK([for working getdelim function], [gl_cv_func_working_getdelim], - [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - AC_RUN_IFELSE([AC_LANG_SOURCE([[ + AC_CACHE_CHECK([for working getdelim function], + [gl_cv_func_working_getdelim], + [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + AC_RUN_IFELSE([AC_LANG_SOURCE([[ # include <stdio.h> # include <stdlib.h> # include <string.h> @@ -53,25 +55,31 @@ AC_DEFUN([gl_FUNC_GETDELIM], fclose (in); return 0; } - ]])], [gl_cv_func_working_getdelim=yes] dnl The library version works. - , [gl_cv_func_working_getdelim=no] dnl The library version does NOT work. - , dnl We're cross compiling. Assume it works on glibc2 systems. - [AC_EGREP_CPP([Lucky GNU user], - [ + ]])], + [gl_cv_func_working_getdelim=yes], + [gl_cv_func_working_getdelim=no], + [dnl We're cross compiling. + dnl Guess it works on glibc2 systems and musl systems. + AC_EGREP_CPP([Lucky GNU user], + [ #include <features.h> #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif - ], - [gl_cv_func_working_getdelim="guessing yes"], - [gl_cv_func_working_getdelim="guessing no"])] - )]) + ], + [gl_cv_func_working_getdelim="guessing yes"], + [case "$host_os" in + *-musl*) gl_cv_func_working_getdelim="guessing yes" ;; + *) gl_cv_func_working_getdelim="guessing no" ;; + esac + ]) + ]) + ]) case "$gl_cv_func_working_getdelim" in - *no) - REPLACE_GETDELIM=1 - ;; + *yes) ;; + *) REPLACE_GETDELIM=1 ;; esac else HAVE_GETDELIM=0 diff --git a/gl/m4/getline.m4 b/gl/m4/getline.m4 index 5b2ead28..32f771c1 100644 --- a/gl/m4/getline.m4 +++ b/gl/m4/getline.m4 @@ -1,4 +1,4 @@ -# getline.m4 serial 28 +# getline.m4 serial 29 dnl Copyright (C) 1998-2003, 2005-2007, 2009-2019 Free Software Foundation, dnl Inc. @@ -16,6 +16,7 @@ dnl to do with the function we need. AC_DEFUN([gl_FUNC_GETLINE], [ AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles dnl Persuade glibc <stdio.h> to declare getline(). AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) @@ -28,9 +29,10 @@ AC_DEFUN([gl_FUNC_GETLINE], gl_getline_needs_run_time_check=yes], [am_cv_func_working_getline=no]) if test $gl_getline_needs_run_time_check = yes; then - AC_CACHE_CHECK([for working getline function], [am_cv_func_working_getline], - [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data - AC_RUN_IFELSE([AC_LANG_SOURCE([[ + AC_CACHE_CHECK([for working getline function], + [am_cv_func_working_getline], + [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data + AC_RUN_IFELSE([AC_LANG_SOURCE([[ # include <stdio.h> # include <stdlib.h> # include <string.h> @@ -61,21 +63,28 @@ AC_DEFUN([gl_FUNC_GETLINE], fclose (in); return 0; } - ]])], [am_cv_func_working_getline=yes] dnl The library version works. - , [am_cv_func_working_getline=no] dnl The library version does NOT work. - , dnl We're cross compiling. Assume it works on glibc2 systems. - [AC_EGREP_CPP([Lucky GNU user], - [ + ]])], + [am_cv_func_working_getline=yes], + [am_cv_func_working_getline=no], + [dnl We're cross compiling. + dnl Guess it works on glibc2 systems and musl systems. + AC_EGREP_CPP([Lucky GNU user], + [ #include <features.h> #ifdef __GNU_LIBRARY__ #if (__GLIBC__ >= 2) && !defined __UCLIBC__ Lucky GNU user #endif #endif - ], - [am_cv_func_working_getline="guessing yes"], - [am_cv_func_working_getline="guessing no"])] - )]) + ], + [am_cv_func_working_getline="guessing yes"], + [case "$host_os" in + *-musl*) am_cv_func_working_getline="guessing yes" ;; + *) am_cv_func_working_getline="guessing no" ;; + esac + ]) + ]) + ]) fi if test $ac_cv_have_decl_getline = no; then @@ -83,7 +92,8 @@ AC_DEFUN([gl_FUNC_GETLINE], fi case "$am_cv_func_working_getline" in - *no) + *yes) ;; + *) dnl Set REPLACE_GETLINE always: Even if we have not found the broken dnl getline function among $LIBS, it may exist in libinet and the dnl executable may be linked with -linet. diff --git a/gl/m4/gettimeofday.m4 b/gl/m4/gettimeofday.m4 index d29b4bff..5e2ef6f4 100644 --- a/gl/m4/gettimeofday.m4 +++ b/gl/m4/gettimeofday.m4 @@ -1,4 +1,4 @@ -# serial 25 +# serial 26 # Copyright (C) 2001-2003, 2005, 2007, 2009-2019 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -105,6 +105,8 @@ AC_DEFUN([gl_FUNC_GETTIMEOFDAY_CLOBBER], case "$host_os" in # Guess all is fine on glibc systems. *-gnu* | gnu*) gl_cv_func_gettimeofday_clobber="guessing no" ;; + # Guess all is fine on musl systems. + *-musl*) gl_cv_func_gettimeofday_clobber="guessing no" ;; # Guess no on native Windows. mingw*) gl_cv_func_gettimeofday_clobber="guessing no" ;; # If we don't know, assume the worst. diff --git a/gl/m4/glob.m4 b/gl/m4/glob.m4 index 93567af0..00b42972 100644 --- a/gl/m4/glob.m4 +++ b/gl/m4/glob.m4 @@ -1,4 +1,4 @@ -# glob.m4 serial 21 +# glob.m4 serial 22 dnl Copyright (C) 2005-2007, 2009-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -49,13 +49,14 @@ char a[_GNU_GLOB_INTERFACE_VERSION == 1 || _GNU_GLOB_INTERFACE_VERSION == 2 ? 1 ]])], [gl_cv_glob_lists_symlinks=yes], [gl_cv_glob_lists_symlinks=no], - [gl_cv_glob_lists_symlinks=no]) + [gl_cv_glob_lists_symlinks="guessing no"]) fi rm -f conf$$-globtest ]) - if test $gl_cv_glob_lists_symlinks = no; then - REPLACE_GLOB=1 - fi + case "$gl_cv_glob_lists_symlinks" in + *yes) ;; + *) REPLACE_GLOB=1 ;; + esac fi fi diff --git a/gl/m4/gnulib-common.m4 b/gl/m4/gnulib-common.m4 index 7c0e3e8f..57b94ed5 100644 --- a/gl/m4/gnulib-common.m4 +++ b/gl/m4/gnulib-common.m4 @@ -1,4 +1,4 @@ -# gnulib-common.m4 serial 41 +# gnulib-common.m4 serial 44 dnl Copyright (C) 2007-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -17,10 +17,13 @@ AC_DEFUN([gl_COMMON_BODY], [ AH_VERBATIM([_Noreturn], [/* The _Noreturn keyword of C11. */ #ifndef _Noreturn -# if 201103 <= (defined __cplusplus ? __cplusplus : 0) +# if (defined __cplusplus \ + && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \ + || (defined _MSC_VER && 1900 <= _MSC_VER))) # define _Noreturn [[noreturn]] -# elif (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ - || 4 < __GNUC__ + (7 <= __GNUC_MINOR__)) +# elif ((!defined __cplusplus || defined __clang__) \ + && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ + || 4 < __GNUC__ + (7 <= __GNUC_MINOR__))) /* _Noreturn works as-is. */ # elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C # define _Noreturn __attribute__ ((__noreturn__)) @@ -85,6 +88,33 @@ AC_DEFUN([gl_COMMON_BODY], [ # define _GL_ATTRIBUTE_MALLOC /* empty */ #endif ]) + AH_VERBATIM([async_safe], +[/* The _GL_ASYNC_SAFE marker should be attached to functions that are + signal handlers (for signals other than SIGABRT, SIGPIPE) or can be + invoked from such signal handlers. Such functions have some restrictions: + * All functions that it calls should be marked _GL_ASYNC_SAFE as well, + or should be listed as async-signal-safe in POSIX + <http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04> + section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in + particular, are NOT async-signal-safe. + * All memory locations (variables and struct fields) that these functions + access must be marked 'volatile'. This holds for both read and write + accesses. Otherwise the compiler might optimize away stores to and + reads from such locations that occur in the program, depending on its + data flow analysis. For example, when the program contains a loop + that is intended to inspect a variable set from within a signal handler + while (!signal_occurred) + ; + the compiler is allowed to transform this into an endless loop if the + variable 'signal_occurred' is not declared 'volatile'. + Additionally, recall that: + * A signal handler should not modify errno (except if it is a handler + for a fatal signal and ends by raising the same signal again, thus + provoking the termination of the process). If it invokes a function + that may clobber errno, it needs to save and restore the value of + errno. */ +#define _GL_ASYNC_SAFE +]) dnl Preparation for running test programs: dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not dnl to /dev/tty, so they can be redirected to log files. Such diagnostics diff --git a/gl/m4/gnulib-comp.m4 b/gl/m4/gnulib-comp.m4 index 1e73baac..b4b49822 100644 --- a/gl/m4/gnulib-comp.m4 +++ b/gl/m4/gnulib-comp.m4 @@ -145,6 +145,7 @@ AC_DEFUN([gl_EARLY], # Code from module malloc-gnu: # Code from module malloc-posix: # Code from module malloca: + # Code from module manywarnings: # Code from module map: # Code from module mbrtowc: # Code from module mbsinit: @@ -260,6 +261,10 @@ AC_DEFUN([gl_EARLY], # Code from module wchar: # Code from module wcrtomb: # Code from module wctype-h: + # Code from module windows-mutex: + # Code from module windows-once: + # Code from module windows-recmutex: + # Code from module windows-rwlock: # Code from module xalloc: # Code from module xalloc-die: # Code from module xalloc-oversized: @@ -582,7 +587,7 @@ AC_SUBST([LTALLOCA]) fi gl_WCHAR_MODULE_INDICATOR([mbsrtowcs]) gl_FUNC_MBTOWC - if test $REPLACE_MBTOWC = 1; then + if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then AC_LIBOBJ([mbtowc]) gl_PREREQ_MBTOWC fi @@ -868,7 +873,7 @@ AC_SUBST([LTALLOCA]) AC_PROG_MKDIR_P gl_SYSEXITS gl_FUNC_GEN_TEMPNAME - gl_THREADLIB + AC_REQUIRE([gl_THREADLIB]) gl_HEADER_TIME_H gl_TIMESPEC gl_UNISTD_H @@ -903,6 +908,30 @@ AC_SUBST([LTALLOCA]) fi gl_WCHAR_MODULE_INDICATOR([wcrtomb]) gl_WCTYPE_H + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_LIBOBJ([windows-mutex]) + ;; + esac + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_LIBOBJ([windows-once]) + ;; + esac + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_LIBOBJ([windows-recmutex]) + ;; + esac + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + mingw*) + AC_LIBOBJ([windows-rwlock]) + ;; + esac gl_XALLOC gl_XGETCWD gl_XSIZE @@ -1365,6 +1394,15 @@ AC_DEFUN([gl_FILE_LIST], [ lib/wcrtomb.c lib/wctype-h.c lib/wctype.in.h + lib/windows-initguard.h + lib/windows-mutex.c + lib/windows-mutex.h + lib/windows-once.c + lib/windows-once.h + lib/windows-recmutex.c + lib/windows-recmutex.h + lib/windows-rwlock.c + lib/windows-rwlock.h lib/xalloc-die.c lib/xalloc-oversized.h lib/xalloc.h @@ -1467,6 +1505,8 @@ AC_DEFUN([gl_FILE_LIST], [ m4/lstat.m4 m4/malloc.m4 m4/malloca.m4 + m4/manywarnings-c++.m4 + m4/manywarnings.m4 m4/math_h.m4 m4/mbrtowc.m4 m4/mbsinit.m4 diff --git a/gl/m4/libtool.m4 b/gl/m4/libtool.m4 index c81e6692..9d6dd9fc 100644 --- a/gl/m4/libtool.m4 +++ b/gl/m4/libtool.m4 @@ -4704,6 +4704,12 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) diff --git a/gl/m4/malloc.m4 b/gl/m4/malloc.m4 index f78a484f..c469c450 100644 --- a/gl/m4/malloc.m4 +++ b/gl/m4/malloc.m4 @@ -1,4 +1,4 @@ -# malloc.m4 serial 17 +# malloc.m4 serial 19 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -32,15 +32,22 @@ AC_DEFUN([_AC_FUNC_MALLOC_IF], [ac_cv_func_malloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \ + *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) - ac_cv_func_malloc_0_nonnull=yes ;; + ac_cv_func_malloc_0_nonnull="guessing yes" ;; # If we don't know, assume the worst. - *) ac_cv_func_malloc_0_nonnull=no ;; + *) ac_cv_func_malloc_0_nonnull="guessing no" ;; esac ]) ]) - AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2]) + case "$ac_cv_func_malloc_0_nonnull" in + *yes) + $1 + ;; + *) + $2 + ;; + esac ])# _AC_FUNC_MALLOC_IF ]) diff --git a/gl/m4/manywarnings.m4 b/gl/m4/manywarnings.m4 new file mode 100644 index 00000000..6bb9f8f8 --- /dev/null +++ b/gl/m4/manywarnings.m4 @@ -0,0 +1,339 @@ +# manywarnings.m4 serial 18 +dnl Copyright (C) 2008-2019 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Simon Josefsson + +# gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR) +# -------------------------------------------------- +# Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR. +# Elements separated by whitespace. In set logic terms, the function +# does OUTVAR = LISTVAR \ REMOVEVAR. +AC_DEFUN([gl_MANYWARN_COMPLEMENT], +[ + gl_warn_set= + set x $2; shift + for gl_warn_item + do + case " $3 " in + *" $gl_warn_item "*) + ;; + *) + gl_warn_set="$gl_warn_set $gl_warn_item" + ;; + esac + done + $1=$gl_warn_set +]) + +# gl_MANYWARN_ALL_GCC(VARIABLE) +# ----------------------------- +# Add all documented GCC warning parameters to variable VARIABLE. +# Note that you need to test them using gl_WARN_ADD if you want to +# make sure your gcc understands it. +# +# The effects of this macro depend on the current language (_AC_LANG). +AC_DEFUN([gl_MANYWARN_ALL_GCC], +[_AC_LANG_DISPATCH([$0], _AC_LANG, $@)]) + +# Specialization for _AC_LANG = C. +# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b. +m4_defun([gl_MANYWARN_ALL_GCC(C)], +[ + AC_LANG_PUSH([C]) + + dnl First, check for some issues that only occur when combining multiple + dnl gcc warning categories. + AC_REQUIRE([AC_PROG_CC]) + if test -n "$GCC"; then + + dnl Check if -W -Werror -Wno-missing-field-initializers is supported + dnl with the current $CC $CFLAGS $CPPFLAGS. + AC_CACHE_CHECK([whether -Wno-missing-field-initializers is supported], + [gl_cv_cc_nomfi_supported], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_nomfi_supported=yes], + [gl_cv_cc_nomfi_supported=no]) + CFLAGS="$gl_save_CFLAGS" + ]) + + if test "$gl_cv_cc_nomfi_supported" = yes; then + dnl Now check whether -Wno-missing-field-initializers is needed + dnl for the { 0, } construct. + AC_CACHE_CHECK([whether -Wno-missing-field-initializers is needed], + [gl_cv_cc_nomfi_needed], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -W -Werror" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[int f (void) + { + typedef struct { int a; int b; } s_t; + s_t s1 = { 0, }; + return s1.b; + } + ]], + [[]])], + [gl_cv_cc_nomfi_needed=no], + [gl_cv_cc_nomfi_needed=yes]) + CFLAGS="$gl_save_CFLAGS" + ]) + fi + + dnl Next, check if -Werror -Wuninitialized is useful with the + dnl user's choice of $CFLAGS; some versions of gcc warn that it + dnl has no effect if -O is not also used + AC_CACHE_CHECK([whether -Wuninitialized is supported], + [gl_cv_cc_uninitialized_supported], + [gl_save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror -Wuninitialized" + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[]])], + [gl_cv_cc_uninitialized_supported=yes], + [gl_cv_cc_uninitialized_supported=no]) + CFLAGS="$gl_save_CFLAGS" + ]) + + fi + + # List all gcc warning categories. + # To compare this list to your installed GCC's, run this Bash command: + # + # comm -3 \ + # <((sed -n 's/^ *\(-[^ 0-9][^ ]*\) .*/\1/p' manywarnings.m4; \ + # awk '/^[^#]/ {print $1}' ../build-aux/gcc-warning.spec) | sort) \ + # <(LC_ALL=C gcc --help=warnings | sed -n 's/^ \(-[^ ]*\) .*/\1/p' | sort) + + gl_manywarn_set= + for gl_manywarn_item in -fno-common \ + -W \ + -Wabsolute-value \ + -Waddress \ + -Waddress-of-packed-member \ + -Waggressive-loop-optimizations \ + -Wall \ + -Wattribute-warning \ + -Wattributes \ + -Wbad-function-cast \ + -Wbool-compare \ + -Wbool-operation \ + -Wbuiltin-declaration-mismatch \ + -Wbuiltin-macro-redefined \ + -Wcannot-profile \ + -Wcast-align \ + -Wcast-align=strict \ + -Wcast-function-type \ + -Wchar-subscripts \ + -Wclobbered \ + -Wcomment \ + -Wcomments \ + -Wcoverage-mismatch \ + -Wcpp \ + -Wdangling-else \ + -Wdate-time \ + -Wdeprecated \ + -Wdeprecated-declarations \ + -Wdesignated-init \ + -Wdisabled-optimization \ + -Wdiscarded-array-qualifiers \ + -Wdiscarded-qualifiers \ + -Wdiv-by-zero \ + -Wdouble-promotion \ + -Wduplicated-branches \ + -Wduplicated-cond \ + -Wduplicate-decl-specifier \ + -Wempty-body \ + -Wendif-labels \ + -Wenum-compare \ + -Wexpansion-to-defined \ + -Wextra \ + -Wformat-contains-nul \ + -Wformat-extra-args \ + -Wformat-nonliteral \ + -Wformat-security \ + -Wformat-signedness \ + -Wformat-y2k \ + -Wformat-zero-length \ + -Wframe-address \ + -Wfree-nonheap-object \ + -Whsa \ + -Wif-not-aligned \ + -Wignored-attributes \ + -Wignored-qualifiers \ + -Wimplicit \ + -Wimplicit-function-declaration \ + -Wimplicit-int \ + -Wincompatible-pointer-types \ + -Winit-self \ + -Winline \ + -Wint-conversion \ + -Wint-in-bool-context \ + -Wint-to-pointer-cast \ + -Winvalid-memory-model \ + -Winvalid-pch \ + -Wlogical-not-parentheses \ + -Wlogical-op \ + -Wmain \ + -Wmaybe-uninitialized \ + -Wmemset-elt-size \ + -Wmemset-transposed-args \ + -Wmisleading-indentation \ + -Wmissing-attributes \ + -Wmissing-braces \ + -Wmissing-declarations \ + -Wmissing-field-initializers \ + -Wmissing-include-dirs \ + -Wmissing-parameter-type \ + -Wmissing-profile \ + -Wmissing-prototypes \ + -Wmultichar \ + -Wmultistatement-macros \ + -Wnarrowing \ + -Wnested-externs \ + -Wnonnull \ + -Wnonnull-compare \ + -Wnull-dereference \ + -Wodr \ + -Wold-style-declaration \ + -Wold-style-definition \ + -Wopenmp-simd \ + -Woverflow \ + -Woverlength-strings \ + -Woverride-init \ + -Wpacked \ + -Wpacked-bitfield-compat \ + -Wpacked-not-aligned \ + -Wparentheses \ + -Wpointer-arith \ + -Wpointer-compare \ + -Wpointer-sign \ + -Wpointer-to-int-cast \ + -Wpragmas \ + -Wpsabi \ + -Wrestrict \ + -Wreturn-local-addr \ + -Wreturn-type \ + -Wscalar-storage-order \ + -Wsequence-point \ + -Wshadow \ + -Wshift-count-negative \ + -Wshift-count-overflow \ + -Wshift-negative-value \ + -Wsizeof-array-argument \ + -Wsizeof-pointer-div \ + -Wsizeof-pointer-memaccess \ + -Wstack-protector \ + -Wstrict-aliasing \ + -Wstrict-overflow \ + -Wstrict-prototypes \ + -Wstringop-truncation \ + -Wsuggest-attribute=cold \ + -Wsuggest-attribute=const \ + -Wsuggest-attribute=format \ + -Wsuggest-attribute=malloc \ + -Wsuggest-attribute=noreturn \ + -Wsuggest-attribute=pure \ + -Wsuggest-final-methods \ + -Wsuggest-final-types \ + -Wswitch \ + -Wswitch-bool \ + -Wswitch-unreachable \ + -Wsync-nand \ + -Wsystem-headers \ + -Wtautological-compare \ + -Wtrampolines \ + -Wtrigraphs \ + -Wtype-limits \ + -Wuninitialized \ + -Wunknown-pragmas \ + -Wunsafe-loop-optimizations \ + -Wunused \ + -Wunused-but-set-parameter \ + -Wunused-but-set-variable \ + -Wunused-function \ + -Wunused-label \ + -Wunused-local-typedefs \ + -Wunused-macros \ + -Wunused-parameter \ + -Wunused-result \ + -Wunused-value \ + -Wunused-variable \ + -Wvarargs \ + -Wvariadic-macros \ + -Wvector-operation-performance \ + -Wvla \ + -Wvolatile-register-var \ + -Wwrite-strings \ + \ + ; do + gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" + done + + # gcc --help=warnings outputs an unusual form for these options; list + # them here so that the above 'comm' command doesn't report a false match. + # Would prefer "min (PTRDIFF_MAX, SIZE_MAX)", but it must be a literal. + # Also, AC_COMPUTE_INT requires it to fit in a long; it is 2**63 on + # the only platforms where it does not fit in a long, so make that + # a special case. + AC_MSG_CHECKING([max safe object size]) + AC_COMPUTE_INT([gl_alloc_max], + [LONG_MAX < (PTRDIFF_MAX < (size_t) -1 ? PTRDIFF_MAX : (size_t) -1) + ? -1 + : PTRDIFF_MAX < (size_t) -1 ? (long) PTRDIFF_MAX : (long) (size_t) -1], + [[#include <limits.h> + #include <stddef.h> + #include <stdint.h> + ]], + [gl_alloc_max=2147483647]) + case $gl_alloc_max in + -1) gl_alloc_max=9223372036854775807;; + esac + AC_MSG_RESULT([$gl_alloc_max]) + gl_manywarn_set="$gl_manywarn_set -Walloc-size-larger-than=$gl_alloc_max" + gl_manywarn_set="$gl_manywarn_set -Warray-bounds=2" + gl_manywarn_set="$gl_manywarn_set -Wattribute-alias=2" + gl_manywarn_set="$gl_manywarn_set -Wformat-overflow=2" + gl_manywarn_set="$gl_manywarn_set -Wformat-truncation=2" + gl_manywarn_set="$gl_manywarn_set -Wimplicit-fallthrough=5" + gl_manywarn_set="$gl_manywarn_set -Wnormalized=nfc" + gl_manywarn_set="$gl_manywarn_set -Wshift-overflow=2" + gl_manywarn_set="$gl_manywarn_set -Wstringop-overflow=2" + gl_manywarn_set="$gl_manywarn_set -Wunused-const-variable=2" + gl_manywarn_set="$gl_manywarn_set -Wvla-larger-than=4031" + + # These are needed for older GCC versions. + if test -n "$GCC"; then + case `($CC --version) 2>/dev/null` in + 'gcc (GCC) '[[0-3]].* | \ + 'gcc (GCC) '4.[[0-7]].*) + gl_manywarn_set="$gl_manywarn_set -fdiagnostics-show-option" + gl_manywarn_set="$gl_manywarn_set -funit-at-a-time" + ;; + esac + fi + + # Disable specific options as needed. + if test "$gl_cv_cc_nomfi_needed" = yes; then + gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" + fi + + if test "$gl_cv_cc_uninitialized_supported" = no; then + gl_manywarn_set="$gl_manywarn_set -Wno-uninitialized" + fi + + $1=$gl_manywarn_set + + AC_LANG_POP([C]) +]) + +# Specialization for _AC_LANG = C++. +# Use of m4_defun rather than AC_DEFUN works around a bug in autoconf < 2.63b. +m4_defun([gl_MANYWARN_ALL_GCC(C++)], +[ + gl_MANYWARN_ALL_GCC_CXX_IMPL([$1]) +]) diff --git a/gl/m4/mbtowc.m4 b/gl/m4/mbtowc.m4 index 202c3fbd..5a4b92ee 100644 --- a/gl/m4/mbtowc.m4 +++ b/gl/m4/mbtowc.m4 @@ -1,4 +1,4 @@ -# mbtowc.m4 serial 2 +# mbtowc.m4 serial 3 dnl Copyright (C) 2011-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -8,8 +8,13 @@ AC_DEFUN([gl_FUNC_MBTOWC], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - if false; then - REPLACE_MBTOWC=1 + AC_CHECK_FUNCS([mbtowc]) + if test $ac_cv_func_mbtowc = no; then + HAVE_MBTOWC=0 + else + if false; then + REPLACE_MBTOWC=1 + fi fi ]) diff --git a/gl/m4/memchr.m4 b/gl/m4/memchr.m4 index db227e7d..0be394db 100644 --- a/gl/m4/memchr.m4 +++ b/gl/m4/memchr.m4 @@ -1,4 +1,4 @@ -# memchr.m4 serial 13 +# memchr.m4 serial 14 dnl Copyright (C) 2002-2004, 2009-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -29,6 +29,8 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], # memchr should not dereference overestimated length after a match # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737 # https://sourceware.org/bugzilla/show_bug.cgi?id=10162 + # memchr should cast the second argument to 'unsigned char'. + # This bug exists in Android 4.3. # Assume that memchr works on platforms that lack mprotect. AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works], [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ @@ -74,15 +76,26 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], if (memchr (fence - 1, 0, 3) != fence - 1) result |= 4; } + /* Test against bug on Android 4.3. */ + { + char input[3]; + input[0] = 'a'; + input[1] = 'b'; + input[2] = 'c'; + if (memchr (input, 0x789abc00 | 'b', 3) != input + 1) + result |= 8; + } return result; ]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], [case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_func_memchr_works="guessing yes" ;; - # Be pessimistic for now. - *) gl_cv_func_memchr_works="guessing no" ;; + # Guess no on Android. + linux*-android*) gl_cv_func_memchr_works="guessing no" ;; + # Guess yes on native Windows. + mingw*) gl_cv_func_memchr_works="guessing yes" ;; + # Be pessimistic for now. + *) gl_cv_func_memchr_works="guessing no" ;; esac ]) ]) diff --git a/gl/m4/mkdir.m4 b/gl/m4/mkdir.m4 index 4cd95903..366a3cd7 100644 --- a/gl/m4/mkdir.m4 +++ b/gl/m4/mkdir.m4 @@ -1,4 +1,4 @@ -# serial 14 +# serial 15 # Copyright (C) 2001, 2003-2004, 2006, 2008-2019 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -62,6 +62,8 @@ AC_DEFUN([gl_FUNC_MKDIR], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_mkdir_trailing_dot_works="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_mkdir_trailing_dot_works="guessing no" ;; # If we don't know, assume the worst. diff --git a/gl/m4/mkstemp.m4 b/gl/m4/mkstemp.m4 index ae24c3bd..1b15c2eb 100644 --- a/gl/m4/mkstemp.m4 +++ b/gl/m4/mkstemp.m4 @@ -1,4 +1,4 @@ -#serial 25 +#serial 26 # Copyright (C) 2001, 2003-2007, 2009-2019 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation @@ -59,6 +59,8 @@ AC_DEFUN([gl_FUNC_MKSTEMP], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_working_mkstemp="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_working_mkstemp="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_working_mkstemp="guessing no" ;; # If we don't know, assume the worst. diff --git a/gl/m4/printf.m4 b/gl/m4/printf.m4 index cbf6ae48..6d2280ef 100644 --- a/gl/m4/printf.m4 +++ b/gl/m4/printf.m4 @@ -1,4 +1,4 @@ -# printf.m4 serial 60 +# printf.m4 serial 61 dnl Copyright (C) 2003, 2007-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -62,6 +62,8 @@ int main () changequote(,)dnl # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_printf_sizes_c99="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_printf_sizes_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_printf_sizes_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";; @@ -240,6 +242,8 @@ int main () changequote(,)dnl # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_printf_infinite="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_printf_infinite="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5].*) gl_cv_func_printf_infinite="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";; @@ -457,6 +461,8 @@ int main () changequote(,)dnl # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_printf_infinite_long_double="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_printf_infinite_long_double="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5].*) gl_cv_func_printf_infinite_long_double="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";; @@ -575,6 +581,8 @@ int main () [gl_cv_func_printf_directive_a="guessing yes"], [gl_cv_func_printf_directive_a="guessing no"]) ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_printf_directive_a="guessing yes";; # Guess no on Android. linux*-android*) gl_cv_func_printf_directive_a="guessing no";; # Guess no on native Windows. @@ -625,6 +633,8 @@ int main () changequote(,)dnl # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_printf_directive_f="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_printf_directive_f="guessing yes";; # Guess yes on FreeBSD >= 6. freebsd[1-5].*) gl_cv_func_printf_directive_f="guessing no";; freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";; @@ -960,6 +970,8 @@ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_printf_flag_zero="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_printf_flag_zero="guessing yes";; # Guess yes on BeOS. beos*) gl_cv_func_printf_flag_zero="guessing yes";; # Guess no on Android. @@ -1206,6 +1218,8 @@ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_snprintf_truncation_c99="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_snprintf_truncation_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_truncation_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";; @@ -1308,6 +1322,8 @@ int main () changequote(,)dnl # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_snprintf_retval_c99="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_snprintf_retval_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_retval_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";; @@ -1400,6 +1416,8 @@ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_snprintf_directive_n="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_snprintf_directive_n="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_snprintf_directive_n="guessing no";; freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";; @@ -1554,6 +1572,8 @@ changequote(,)dnl case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; + # Guess yes on musl systems. + *-musl*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; # Guess yes on FreeBSD >= 5. freebsd[1-4].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";; freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";; diff --git a/gl/m4/realloc.m4 b/gl/m4/realloc.m4 index 1281a353..93066e80 100644 --- a/gl/m4/realloc.m4 +++ b/gl/m4/realloc.m4 @@ -1,4 +1,4 @@ -# realloc.m4 serial 15 +# realloc.m4 serial 17 dnl Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -32,15 +32,22 @@ AC_DEFUN([_AC_FUNC_REALLOC_IF], [ac_cv_func_realloc_0_nonnull=no], [case "$host_os" in # Guess yes on platforms where we know the result. - *-gnu* | gnu* | freebsd* | netbsd* | openbsd* \ + *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \ | hpux* | solaris* | cygwin* | mingw*) - ac_cv_func_realloc_0_nonnull=yes ;; + ac_cv_func_realloc_0_nonnull="guessing yes" ;; # If we don't know, assume the worst. - *) ac_cv_func_realloc_0_nonnull=no ;; + *) ac_cv_func_realloc_0_nonnull="guessing no" ;; esac ]) ]) - AS_IF([test $ac_cv_func_realloc_0_nonnull = yes], [$1], [$2]) + case "$ac_cv_func_realloc_0_nonnull" in + *yes) + $1 + ;; + *) + $2 + ;; + esac ])# AC_FUNC_REALLOC ]) diff --git a/gl/m4/setenv.m4 b/gl/m4/setenv.m4 index 6101274e..a8f83d60 100644 --- a/gl/m4/setenv.m4 +++ b/gl/m4/setenv.m4 @@ -1,4 +1,4 @@ -# setenv.m4 serial 27 +# setenv.m4 serial 28 dnl Copyright (C) 2001-2004, 2006-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -37,6 +37,8 @@ AC_DEFUN([gl_FUNC_SETENV], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_setenv_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_setenv_works="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_setenv_works="guessing no" ;; esac diff --git a/gl/m4/sleep.m4 b/gl/m4/sleep.m4 index 5f71cc78..7bab4670 100644 --- a/gl/m4/sleep.m4 +++ b/gl/m4/sleep.m4 @@ -1,4 +1,4 @@ -# sleep.m4 serial 9 +# sleep.m4 serial 10 dnl Copyright (C) 2007-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -48,6 +48,8 @@ handle_alarm (int sig) [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_sleep_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_sleep_works="guessing yes" ;; # Guess no on native Windows. mingw*) gl_cv_func_sleep_works="guessing no" ;; # If we don't know, assume the worst. diff --git a/gl/m4/stdlib_h.m4 b/gl/m4/stdlib_h.m4 index cf064284..6121602a 100644 --- a/gl/m4/stdlib_h.m4 +++ b/gl/m4/stdlib_h.m4 @@ -1,4 +1,4 @@ -# stdlib_h.m4 serial 45 +# stdlib_h.m4 serial 48 dnl Copyright (C) 2007-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -23,10 +23,10 @@ AC_DEFUN([gl_STDLIB_H], # include <random.h> #endif ]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt - initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps + initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps posix_openpt ptsname ptsname_r qsort_r random random_r reallocarray realpath rpmatch secure_getenv setenv setstate setstate_r srandom - srandom_r strtod strtoll strtoull unlockpt unsetenv]) + srandom_r strtod strtold strtoll strtoull unlockpt unsetenv]) ]) AC_DEFUN([gl_STDLIB_MODULE_INDICATOR], @@ -68,6 +68,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV]) GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV]) GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD]) + GNULIB_STRTOLD=0; AC_SUBST([GNULIB_STRTOLD]) GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL]) GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL]) GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX]) @@ -81,7 +82,9 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) + HAVE_INITSTATE=1; AC_SUBST([HAVE_INITSTATE]) HAVE_DECL_INITSTATE=1; AC_SUBST([HAVE_DECL_INITSTATE]) + HAVE_MBTOWC=1; AC_SUBST([HAVE_MBTOWC]) HAVE_MKDTEMP=1; AC_SUBST([HAVE_MKDTEMP]) HAVE_MKOSTEMP=1; AC_SUBST([HAVE_MKOSTEMP]) HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS]) @@ -100,8 +103,10 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV]) HAVE_SETENV=1; AC_SUBST([HAVE_SETENV]) HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV]) + HAVE_SETSTATE=1; AC_SUBST([HAVE_SETSTATE]) HAVE_DECL_SETSTATE=1; AC_SUBST([HAVE_DECL_SETSTATE]) HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD]) + HAVE_STRTOLD=1; AC_SUBST([HAVE_STRTOLD]) HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL]) HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL]) HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA]) @@ -110,6 +115,7 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC]) REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) + REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC]) REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) @@ -117,11 +123,14 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) + REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC]) REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH]) REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV]) + REPLACE_SETSTATE=0; AC_SUBST([REPLACE_SETSTATE]) REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD]) + REPLACE_STRTOLD=0; AC_SUBST([REPLACE_STRTOLD]) REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV]) REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB]) ]) diff --git a/gl/m4/strerror.m4 b/gl/m4/strerror.m4 index b452f7f8..2c90f316 100644 --- a/gl/m4/strerror.m4 +++ b/gl/m4/strerror.m4 @@ -1,4 +1,4 @@ -# strerror.m4 serial 19 +# strerror.m4 serial 20 dnl Copyright (C) 2002, 2007-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -26,6 +26,8 @@ AC_DEFUN([gl_FUNC_STRERROR], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_working_strerror="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_working_strerror="guessing yes" ;; # If we don't know, assume the worst. *) gl_cv_func_working_strerror="guessing no" ;; esac @@ -80,6 +82,8 @@ AC_DEFUN([gl_FUNC_STRERROR_0], [case "$host_os" in # Guess yes on glibc systems. *-gnu* | gnu*) gl_cv_func_strerror_0_works="guessing yes" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_strerror_0_works="guessing yes" ;; # Guess yes on native Windows. mingw*) gl_cv_func_strerror_0_works="guessing yes" ;; # If we don't know, assume the worst. diff --git a/gl/m4/sys_socket_h.m4 b/gl/m4/sys_socket_h.m4 index 1ea7b0b3..d0a90206 100644 --- a/gl/m4/sys_socket_h.m4 +++ b/gl/m4/sys_socket_h.m4 @@ -1,4 +1,4 @@ -# sys_socket_h.m4 serial 23 +# sys_socket_h.m4 serial 24 dnl Copyright (C) 2005-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -104,17 +104,11 @@ AC_DEFUN([gl_PREREQ_SYS_H_SOCKET], gl_CHECK_NEXT_HEADERS([sys/socket.h]) if test $ac_cv_header_sys_socket_h = yes; then HAVE_SYS_SOCKET_H=1 - HAVE_WS2TCPIP_H=0 else HAVE_SYS_SOCKET_H=0 - if test $ac_cv_header_ws2tcpip_h = yes; then - HAVE_WS2TCPIP_H=1 - else - HAVE_WS2TCPIP_H=0 - fi fi AC_SUBST([HAVE_SYS_SOCKET_H]) - AC_SUBST([HAVE_WS2TCPIP_H]) + gl_PREREQ_SYS_H_WS2TCPIP ]) # Common prerequisites of the <sys/socket.h> replacement and of the @@ -142,6 +136,24 @@ AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2], AC_SUBST([HAVE_WINSOCK2_H]) ]) +# Common prerequisites of the <sys/socket.h> replacement and of the +# <arpa/inet.h> replacement. +# Sets and substitutes HAVE_WS2TCPIP_H. +AC_DEFUN([gl_PREREQ_SYS_H_WS2TCPIP], +[ + AC_REQUIRE([gl_CHECK_SOCKET_HEADERS]) + if test $ac_cv_header_sys_socket_h = yes; then + HAVE_WS2TCPIP_H=0 + else + if test $ac_cv_header_ws2tcpip_h = yes; then + HAVE_WS2TCPIP_H=1 + else + HAVE_WS2TCPIP_H=0 + fi + fi + AC_SUBST([HAVE_WS2TCPIP_H]) +]) + AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR], [ dnl Use AC_REQUIRE here, so that the default settings are expanded once only. diff --git a/gl/m4/threadlib.m4 b/gl/m4/threadlib.m4 index bfc3bac8..045d9dad 100644 --- a/gl/m4/threadlib.m4 +++ b/gl/m4/threadlib.m4 @@ -1,4 +1,4 @@ -# threadlib.m4 serial 16 +# threadlib.m4 serial 20 dnl Copyright (C) 2005-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -16,8 +16,7 @@ dnl (it must be placed before the invocation of gl_THREADLIB_EARLY!), then the dnl default is 'no', otherwise it is system dependent. In both cases, the user dnl can change the choice through the options --enable-threads=choice or dnl --disable-threads. -dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS, -dnl USE_PTH_THREADS, USE_WINDOWS_THREADS +dnl Defines at most one of the macros USE_POSIX_THREADS, USE_WINDOWS_THREADS. dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with dnl libtool). @@ -27,6 +26,9 @@ dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak dnl symbols, typically LIBTHREAD is empty whereas LIBMULTITHREAD is not. dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for dnl multithread-safe programs. +dnl Since support for GNU pth was removed, $LTLIBTHREAD and $LIBTHREAD have the +dnl same value, and similarly $LTLIBMULTITHREAD and $LIBMULTITHREAD have the +dnl same value. Only system libraries are needed. AC_DEFUN([gl_THREADLIB_EARLY], [ @@ -50,8 +52,9 @@ AC_DEFUN([gl_THREADLIB_EARLY_BODY], m4_ifdef([gl_THREADLIB_DEFAULT_NO], [m4_divert_text([DEFAULTS], [gl_use_threads_default=no])], [m4_divert_text([DEFAULTS], [gl_use_threads_default=])]) + m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=]) AC_ARG_ENABLE([threads], -AC_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ +AC_HELP_STRING([--enable-threads={posix|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [ AC_HELP_STRING([--disable-threads], [build without multithread safety])]), [gl_use_threads=$enableval], [if test -n "$gl_use_threads_default"; then @@ -62,16 +65,24 @@ changequote(,)dnl dnl Disable multithreading by default on OSF/1, because it interferes dnl with fork()/exec(): When msgexec is linked with -lpthread, its dnl child process gets an endless segmentation fault inside execvp(). + osf*) gl_use_threads=no ;; dnl Disable multithreading by default on Cygwin 1.5.x, because it has dnl bugs that lead to endless loops or crashes. See dnl <https://cygwin.com/ml/cygwin/2009-08/msg00283.html>. - osf*) gl_use_threads=no ;; cygwin*) case `uname -r` in 1.[0-5].*) gl_use_threads=no ;; *) gl_use_threads=yes ;; esac ;; + dnl Obey gl_AVOID_WINPTHREAD on mingw. + mingw*) + case "$gl_use_winpthreads_default" in + yes) gl_use_threads=posix ;; + no) gl_use_threads=windows ;; + *) gl_use_threads=yes ;; + esac + ;; *) gl_use_threads=yes ;; esac changequote([,])dnl @@ -151,6 +162,13 @@ int main () *" -static "*) gl_cv_have_weak=no ;; esac ]) + if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then + dnl If we use weak symbols to implement pthread_in_use / pth_in_use / + dnl thread_in_use, we also need to test whether the ISO C 11 thrd_create + dnl facility is in use. + AC_CHECK_HEADERS_ONCE([threads.h]) + : + fi if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then # On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that # it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY. @@ -235,67 +253,6 @@ int main () fi fi if test -z "$gl_have_pthread"; then - if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then - gl_have_solaristhread= - gl_save_LIBS="$LIBS" - LIBS="$LIBS -lthread" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM( - [[ -#include <thread.h> -#include <synch.h> - ]], - [[thr_self();]])], - [gl_have_solaristhread=yes]) - LIBS="$gl_save_LIBS" - if test -n "$gl_have_solaristhread"; then - gl_threads_api=solaris - LIBTHREAD=-lthread - LTLIBTHREAD=-lthread - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" - AC_DEFINE([USE_SOLARIS_THREADS], [1], - [Define if the old Solaris multithreading library can be used.]) - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then - AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1], - [Define if references to the old Solaris multithreading library should be made weak.]) - LIBTHREAD= - LTLIBTHREAD= - fi - fi - fi - fi - if test "$gl_use_threads" = pth; then - gl_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_LINKFLAGS([pth]) - gl_have_pth= - gl_save_LIBS="$LIBS" - LIBS="$LIBS $LIBPTH" - AC_LINK_IFELSE( - [AC_LANG_PROGRAM([[#include <pth.h>]], [[pth_self();]])], - [gl_have_pth=yes]) - LIBS="$gl_save_LIBS" - if test -n "$gl_have_pth"; then - gl_threads_api=pth - LIBTHREAD="$LIBPTH" - LTLIBTHREAD="$LTLIBPTH" - LIBMULTITHREAD="$LIBTHREAD" - LTLIBMULTITHREAD="$LTLIBTHREAD" - AC_DEFINE([USE_PTH_THREADS], [1], - [Define if the GNU Pth multithreading library can be used.]) - if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then - if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then - AC_DEFINE([USE_PTH_THREADS_WEAK], [1], - [Define if references to the GNU Pth multithreading library should be made weak.]) - LIBTHREAD= - LTLIBTHREAD= - fi - fi - else - CPPFLAGS="$gl_save_CPPFLAGS" - fi - fi - if test -z "$gl_have_pthread"; then case "$gl_use_threads" in yes | windows | win32) # The 'win32' is for backward compatibility. if { case "$host_os" in @@ -337,6 +294,18 @@ AC_DEFUN([gl_DISABLE_THREADS], [ ]) +dnl gl_AVOID_WINPTHREAD +dnl ------------------- +dnl Sets the gl_THREADLIB default so that on mingw, a dependency to the +dnl libwinpthread DLL (mingw-w64 winpthreads library) is avoided. +dnl The user can still override it at installation time, by using the +dnl configure option '--enable-threads'. + +AC_DEFUN([gl_AVOID_WINPTHREAD], [ + m4_divert_text([INIT_PREPARE], [gl_use_winpthreads_default=no]) +]) + + dnl Survey of platforms: dnl dnl Platform Available Compiler Supports test-lock @@ -366,7 +335,6 @@ dnl dnl Mac OS X 10.[123] posix -lpthread Y OK dnl dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK -dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK dnl dnl HP-UX 11 posix -lpthread N (cc) OK dnl Y (gcc) @@ -380,8 +348,6 @@ dnl -lpthread (gcc) Y dnl dnl Cygwin posix -lpthread Y OK dnl -dnl Any of the above pth -lpth 0.0 -dnl dnl Mingw windows N OK dnl dnl BeOS 5 -- diff --git a/gl/m4/unistd_h.m4 b/gl/m4/unistd_h.m4 index a04055d2..a3b3905f 100644 --- a/gl/m4/unistd_h.m4 +++ b/gl/m4/unistd_h.m4 @@ -1,4 +1,4 @@ -# unistd_h.m4 serial 74 +# unistd_h.m4 serial 75 dnl Copyright (C) 2006-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -64,6 +64,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], GNULIB_CHDIR=0; AC_SUBST([GNULIB_CHDIR]) GNULIB_CHOWN=0; AC_SUBST([GNULIB_CHOWN]) GNULIB_CLOSE=0; AC_SUBST([GNULIB_CLOSE]) + GNULIB_COPY_FILE_RANGE=0; AC_SUBST([GNULIB_COPY_FILE_RANGE]) GNULIB_DUP=0; AC_SUBST([GNULIB_DUP]) GNULIB_DUP2=0; AC_SUBST([GNULIB_DUP2]) GNULIB_DUP3=0; AC_SUBST([GNULIB_DUP3]) @@ -113,6 +114,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. HAVE_CHOWN=1; AC_SUBST([HAVE_CHOWN]) + HAVE_COPY_FILE_RANGE=1; AC_SUBST([HAVE_COPY_FILE_RANGE]) HAVE_DUP2=1; AC_SUBST([HAVE_DUP2]) HAVE_DUP3=1; AC_SUBST([HAVE_DUP3]) HAVE_EUIDACCESS=1; AC_SUBST([HAVE_EUIDACCESS]) diff --git a/gl/m4/utimes.m4 b/gl/m4/utimes.m4 index 7209b6dd..5806d8fb 100644 --- a/gl/m4/utimes.m4 +++ b/gl/m4/utimes.m4 @@ -1,5 +1,5 @@ # Detect some bugs in glibc's implementation of utimes. -# serial 5 +# serial 6 dnl Copyright (C) 2003-2005, 2009-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation @@ -143,9 +143,11 @@ main () [gl_cv_func_working_utimes=yes], [gl_cv_func_working_utimes=no], [case "$host_os" in - # Guess no on native Windows. - mingw*) gl_cv_func_working_utimes="guessing no" ;; - *) gl_cv_func_working_utimes="guessing no" ;; + # Guess yes on musl systems. + *-musl*) gl_cv_func_working_utimes="guessing yes" ;; + # Guess no on native Windows. + mingw*) gl_cv_func_working_utimes="guessing no" ;; + *) gl_cv_func_working_utimes="guessing no" ;; esac ]) ]) diff --git a/gl/m4/wcrtomb.m4 b/gl/m4/wcrtomb.m4 index f4f37f56..fec22f34 100644 --- a/gl/m4/wcrtomb.m4 +++ b/gl/m4/wcrtomb.m4 @@ -1,4 +1,4 @@ -# wcrtomb.m4 serial 13 +# wcrtomb.m4 serial 14 dnl Copyright (C) 2008-2019 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -33,7 +33,9 @@ AC_DEFUN([gl_FUNC_WCRTOMB], else if test $REPLACE_MBSTATE_T = 1; then REPLACE_WCRTOMB=1 - else + fi + if test $REPLACE_WCRTOMB = 0; then + dnl On Android 4.3, wcrtomb produces wrong characters in the C locale. dnl On AIX 4.3, OSF/1 5.1 and Solaris <= 11.3, wcrtomb (NULL, 0, NULL) dnl sometimes returns 0 instead of 1. AC_REQUIRE([AC_PROG_CC]) @@ -42,6 +44,45 @@ AC_DEFUN([gl_FUNC_WCRTOMB], AC_REQUIRE([gt_LOCALE_JA]) AC_REQUIRE([gt_LOCALE_ZH_CN]) AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + AC_CACHE_CHECK([whether wcrtomb works in the C locale], + [gl_cv_func_wcrtomb_works], + [AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include <string.h> +#include <stdlib.h> +/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before + <wchar.h>. + BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be + included before <wchar.h>. */ +#include <stddef.h> +#include <stdio.h> +#include <wchar.h> +int main () +{ + mbstate_t state; + char out[64]; + int count; + memset (&state, 0, sizeof (state)); + out[0] = 'x'; + count = wcrtomb (out, L'a', &state); + return !(count == 1 && out[0] == 'a'); +}]])], + [gl_cv_func_wcrtomb_works=yes], + [gl_cv_func_wcrtomb_works=no], + [case "$host_os" in + # Guess no on Android. + linux*-android*) gl_cv_func_wcrtomb_works="guessing no";; + # Guess yes otherwise. + *) gl_cv_func_wcrtomb_works="guessing yes";; + esac + ]) + ]) + case "$gl_cv_func_wcrtomb_works" in + *yes) ;; + *) REPLACE_WCRTOMB=1 ;; + esac + fi + if test $REPLACE_WCRTOMB = 0; then AC_CACHE_CHECK([whether wcrtomb return value is correct], [gl_cv_func_wcrtomb_retval], [ diff --git a/gl/po/POTFILES.in b/gl/po/POTFILES.in index 91ff8514..85249186 100644 --- a/gl/po/POTFILES.in +++ b/gl/po/POTFILES.in @@ -338,6 +338,15 @@ gl/lib/wchar.in.h gl/lib/wcrtomb.c gl/lib/wctype-h.c gl/lib/wctype.in.h +gl/lib/windows-initguard.h +gl/lib/windows-mutex.c +gl/lib/windows-mutex.h +gl/lib/windows-once.c +gl/lib/windows-once.h +gl/lib/windows-recmutex.c +gl/lib/windows-recmutex.h +gl/lib/windows-rwlock.c +gl/lib/windows-rwlock.h gl/lib/xalloc-die.c gl/lib/xalloc-oversized.h gl/lib/xalloc.h diff --git a/gl/po/af.po b/gl/po/af.po index 2adfb896..655c4e0e 100644 --- a/gl/po/af.po +++ b/gl/po/af.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: coreutils 5.2.1\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2004-03-17 11:58+0200\n" "Last-Translator: Petri Jooste <rkwjpj@puk.ac.za>\n" "Language-Team: Afrikaans <i18n@af.org.za>\n" diff --git a/gl/po/be.po b/gl/po/be.po index f87b2cc7..077cf022 100644 --- a/gl/po/be.po +++ b/gl/po/be.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: coreutils 5.0.91\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2003-10-30 01:10+0200\n" "Last-Translator: Ales Nyakhaychyk <nab@mail.by>\n" "Language-Team: Belarusian <i18n@mova.org>\n" diff --git a/gl/po/bg.po b/gl/po/bg.po index 5c1c3aeb..0d6fbb85 100644 --- a/gl/po/bg.po +++ b/gl/po/bg.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-19 18:14+0200\n" "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n" "Language-Team: Bulgarian <dict@ludost.net>\n" diff --git a/gl/po/ca.po b/gl/po/ca.po index f9c54554..ca5991c8 100644 --- a/gl/po/ca.po +++ b/gl/po/ca.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: mailutils 0.6.90\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2005-05-21 04:10+0200\n" "Last-Translator: Jordi Mallach <jordi@gnu.org>\n" "Language-Team: Catalan <ca@dodds.net>\n" diff --git a/gl/po/cs.po b/gl/po/cs.po index a4f78eef..e0e974ca 100644 --- a/gl/po/cs.po +++ b/gl/po/cs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2011-12-04 08:50+0100\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" diff --git a/gl/po/da.po b/gl/po/da.po index 6f84c560..441107e5 100644 --- a/gl/po/da.po +++ b/gl/po/da.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 2.0.0.3462.e9796\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2011-01-20 22:11+0100\n" "Last-Translator: Keld Simonsen <keld@keldix.com>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" diff --git a/gl/po/de.po b/gl/po/de.po index c118da48..8c476cf7 100644 --- a/gl/po/de.po +++ b/gl/po/de.po @@ -35,7 +35,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU gnulib-4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-22 20:00+0200\n" "Last-Translator: Roland Illig <roland.illig@gmx.de>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" diff --git a/gl/po/el.po b/gl/po/el.po index ae6ec956..8785cf9e 100644 --- a/gl/po/el.po +++ b/gl/po/el.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2012-03-11 11:25+0100\n" "Last-Translator: Simos Xenitellis <simos.lists@googlemail.com>\n" "Language-Team: Greek <team@lists.gnome.gr>\n" diff --git a/gl/po/eo.po b/gl/po/eo.po index 955a12ad..a65e2872 100644 --- a/gl/po/eo.po +++ b/gl/po/eo.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-19 18:26-0300\n" "Last-Translator: Felipe Castro <fefcas@gmail.com>\n" "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n" diff --git a/gl/po/es.po b/gl/po/es.po index fb489d68..6d6598b6 100644 --- a/gl/po/es.po +++ b/gl/po/es.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2011-08-24 11:23-0500\n" "Last-Translator: Cristian Othón Martínez Vera <cfuga@cfuga.mx>\n" "Language-Team: Spanish <es@li.org>\n" diff --git a/gl/po/et.po b/gl/po/et.po index a21a4e22..7b83c44a 100644 --- a/gl/po/et.po +++ b/gl/po/et.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 2.0.0.3462.e9796\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2011-05-19 15:10+0300\n" "Last-Translator: Toomas Soome <Toomas.Soome@microlink.ee>\n" "Language-Team: Estonian <linux-ee@lists.eenet.ee>\n" diff --git a/gl/po/eu.po b/gl/po/eu.po index 1edd6f8a..bb4862c9 100644 --- a/gl/po/eu.po +++ b/gl/po/eu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: coreutils-5.2.1\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2005-01-04 20:27+0100\n" "Last-Translator: Mikel Olasagasti <hey_neken@mundurat.net>\n" "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n" diff --git a/gl/po/fi.po b/gl/po/fi.po index 293a6cf5..96d6664d 100644 --- a/gl/po/fi.po +++ b/gl/po/fi.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2011-12-10 19:05+0200\n" "Last-Translator: Jorma Karvonen <karvonen.jorma@gmail.com>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" diff --git a/gl/po/fr.po b/gl/po/fr.po index dc4cfcc8..381a4585 100644 --- a/gl/po/fr.po +++ b/gl/po/fr.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib-4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-21 20:15+0200\n" "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n" "Language-Team: French <traduc@traduc.org>\n" diff --git a/gl/po/ga.po b/gl/po/ga.po index fe0ef3f9..6fcad2ae 100644 --- a/gl/po/ga.po +++ b/gl/po/ga.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 1.1\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2007-07-20 12:24-0600\n" "Last-Translator: Kevin Scannell <kscanne@gmail.com>\n" "Language-Team: Irish <gaeilge-gnulinux@lists.sourceforge.net>\n" diff --git a/gl/po/gl.po b/gl/po/gl.po index d1ebdd5e..ae097872 100644 --- a/gl/po/gl.po +++ b/gl/po/gl.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2012-11-11 13:26+0200\n" "Last-Translator: Leandro Regueiro <leandro.regueiro@gmail.com>\n" "Language-Team: Galician <proxecto@trasno.net>\n" diff --git a/gl/po/hu.po b/gl/po/hu.po index 5671a892..22993c48 100644 --- a/gl/po/hu.po +++ b/gl/po/hu.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2014-06-25 19:51+0200\n" "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n" "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n" diff --git a/gl/po/it.po b/gl/po/it.po index 2c87d477..e562ee4c 100644 --- a/gl/po/it.po +++ b/gl/po/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib-4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-21 14:07+0200\n" "Last-Translator: Milo Casagrande <milo@milo.name>\n" "Language-Team: Italian <tp@lists.linux.it>\n" diff --git a/gl/po/ja.po b/gl/po/ja.po index 1a31c474..9db5e4dd 100644 --- a/gl/po/ja.po +++ b/gl/po/ja.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2011-09-02 18:39+0900\n" "Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" diff --git a/gl/po/ko.po b/gl/po/ko.po index 456daacf..42208b9d 100644 --- a/gl/po/ko.po +++ b/gl/po/ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU textutils 2.0.22\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2002-07-22 20:02+0900\n" "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" "Language-Team: Korean <translation-team-ko@lists.sourceforge.net>\n" diff --git a/gl/po/man-db-gnulib.pot b/gl/po/man-db-gnulib.pot index 26e12098..43cfa3ef 100644 --- a/gl/po/man-db-gnulib.pot +++ b/gl/po/man-db-gnulib.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: man-db 2.8.6.1\n" +"Project-Id-Version: man-db 2.8.7\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" diff --git a/gl/po/ms.po b/gl/po/ms.po index 75374e28..1a034f8d 100644 --- a/gl/po/ms.po +++ b/gl/po/ms.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: coreutils 5.0.90\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2003-08-10 16:00+0800\n" "Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n" "Language-Team: Malay <translation-team-ms@lists.sourceforge.net>\n" diff --git a/gl/po/nb.po b/gl/po/nb.po index 47bf815e..ce62f804 100644 --- a/gl/po/nb.po +++ b/gl/po/nb.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: GNU textutils 2.0.20\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2002-01-27 21:35+0100\n" "Last-Translator: Eivind Tagseth <eivindt@multinet.no>\n" "Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n" diff --git a/gl/po/nl.po b/gl/po/nl.po index 506c337a..35f92bea 100644 --- a/gl/po/nl.po +++ b/gl/po/nl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib-4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-29 13:31+0200\n" "Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" diff --git a/gl/po/pl.po b/gl/po/pl.po index b93c447e..fccfd479 100644 --- a/gl/po/pl.po +++ b/gl/po/pl.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-19 20:02+0200\n" "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" diff --git a/gl/po/pt.po b/gl/po/pt.po index 50fb8b02..3afe83e9 100644 --- a/gl/po/pt.po +++ b/gl/po/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-26 10:40+0100\n" "Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n" "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n" diff --git a/gl/po/pt_BR.po b/gl/po/pt_BR.po index 2d1c4cc9..03a333ea 100644 --- a/gl/po/pt_BR.po +++ b/gl/po/pt_BR.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-19 09:10-0200\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." diff --git a/gl/po/ro.po b/gl/po/ro.po index ce5db477..d63583d9 100644 --- a/gl/po/ro.po +++ b/gl/po/ro.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: mailutils 0.4\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2003-12-10 08:55+0200\n" "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" diff --git a/gl/po/ru.po b/gl/po/ru.po index 1284e2b2..7725be0e 100644 --- a/gl/po/ru.po +++ b/gl/po/ru.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-21 18:46+0300\n" "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" "Language-Team: Russian <gnu@d07.ru>\n" diff --git a/gl/po/rw.po b/gl/po/rw.po index e74c6cfd..3c08e59f 100644 --- a/gl/po/rw.po +++ b/gl/po/rw.po @@ -16,7 +16,7 @@ msgid "" msgstr "" "Project-Id-Version: mailutils 0.6\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2005-04-04 10:55-0700\n" "Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n" "Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n" diff --git a/gl/po/sk.po b/gl/po/sk.po index 6cdbbf5a..670ec3e5 100644 --- a/gl/po/sk.po +++ b/gl/po/sk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: textutils 2.0.14\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2001-06-08 22:10 +02:00\n" "Last-Translator: Stanislav Meduna <stano@trillian.eunet.sk>\n" "Language-Team: Slovak <sk-i18n@rak.isternet.sk>\n" diff --git a/gl/po/sl.po b/gl/po/sl.po index 3d12be70..902c9c77 100644 --- a/gl/po/sl.po +++ b/gl/po/sl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2012-05-20 13:08+0200\n" "Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n" "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n" diff --git a/gl/po/sr.po b/gl/po/sr.po index 2d351923..42741e5c 100644 --- a/gl/po/sr.po +++ b/gl/po/sr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib-3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2013-11-17 16:47+0200\n" "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" "Language-Team: Serbian <(nothing)>\n" diff --git a/gl/po/sv.po b/gl/po/sv.po index 27d3acd7..52242b2a 100644 --- a/gl/po/sv.po +++ b/gl/po/sv.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-21 10:41+0200\n" "Last-Translator: Göran Uddeborg <goeran@uddeborg.se>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" diff --git a/gl/po/tr.po b/gl/po/tr.po index 4a37d6cc..90a4c5d2 100644 --- a/gl/po/tr.po +++ b/gl/po/tr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: coreutils 5.3.0\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2005-03-14 04:17+0200\n" "Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" diff --git a/gl/po/uk.po b/gl/po/uk.po index 5eb8b854..0ade0b0c 100644 --- a/gl/po/uk.po +++ b/gl/po/uk.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-19 14:26+0300\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <trans-uk@lists.fedoraproject.org>\n" diff --git a/gl/po/vi.po b/gl/po/vi.po index 41e5af1f..2365a86f 100644 --- a/gl/po/vi.po +++ b/gl/po/vi.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib-3.0.0.6062.a6b16\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2014-01-13 08:31+0700\n" "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" diff --git a/gl/po/zh_CN.po b/gl/po/zh_CN.po index 91f6028c..e2e2e7e7 100644 --- a/gl/po/zh_CN.po +++ b/gl/po/zh_CN.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 2.0.0.3462.e9796\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2010-02-26 09:54+0800\n" "Last-Translator: Ji ZhengYu <zhengyuji@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" diff --git a/gl/po/zh_TW.po b/gl/po/zh_TW.po index 58bb1cda..58301da3 100644 --- a/gl/po/zh_TW.po +++ b/gl/po/zh_TW.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: gnulib 4.0.0.2567\n" "Report-Msgid-Bugs-To: bug-gnulib@gnu.org\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2019-05-19 19:34+0800\n" "Last-Translator: pan93412 <pan93412@gmail.com>\n" "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" diff --git a/include/manconfig.h.in b/include/manconfig.h.in index d9605c9b..6166d9cb 100644 --- a/include/manconfig.h.in +++ b/include/manconfig.h.in @@ -254,27 +254,6 @@ # define ATTRIBUTE_FORMAT_PRINTF(a,b) #endif -/* Does this compiler support marking variables as unused? */ -#if GNUC_PREREQ(2,4) -# define ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -# define ATTRIBUTE_UNUSED -#endif - -/* Does this compiler support marking functions as non-returning? */ -#if GNUC_PREREQ(2,5) -# define ATTRIBUTE_NORETURN __attribute__ ((__noreturn__)) -#else -# define ATTRIBUTE_NORETURN -#endif - -/* Does this compiler support malloc return checking? */ -#if GNUC_PREREQ(2,96) -# define ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define ATTRIBUTE_MALLOC -#endif - /* Does this compiler support unused result checking? */ #if GNUC_PREREQ(3,4) # define ATTRIBUTE_WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__)) @@ -299,9 +278,9 @@ extern void __chkr_garbage_detector (void); /* GNU gettext needs to know when the locale changes. This macro tells it. */ #ifdef ENABLE_NLS +extern int _nl_msg_cat_cntr; # define locale_changed() \ do { \ - extern int _nl_msg_cat_cntr; \ ++_nl_msg_cat_cntr; \ } while (0) #else /* !ENABLE_NLS */ @@ -351,7 +330,7 @@ extern struct compression *comp_info (const char *filename, int want_stem); extern struct compression *comp_file (const char *filename); /* straycats.c */ -extern int straycats (const char *manpath); +extern int straycats (const char *database, const char *manpath); /* lexgrog.l */ struct lexgrog; diff --git a/init/Makefile.in b/init/Makefile.in index c37ff83c..ec804ba2 100644 --- a/init/Makefile.in +++ b/init/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -412,6 +413,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -619,6 +621,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -693,6 +696,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -700,6 +704,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -781,6 +786,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -803,6 +809,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -853,6 +860,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -872,6 +880,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -972,8 +981,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -996,7 +1003,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1142,6 +1148,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1190,6 +1197,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1203,6 +1211,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1223,6 +1232,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/init/systemd/Makefile.in b/init/systemd/Makefile.in index 4142e77b..a94e4c00 100644 --- a/init/systemd/Makefile.in +++ b/init/systemd/Makefile.in @@ -184,6 +184,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -388,6 +389,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -595,6 +597,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -669,6 +672,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -676,6 +680,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -757,6 +762,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -779,6 +785,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -829,6 +836,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -848,6 +856,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -948,8 +957,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -972,7 +979,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1118,6 +1124,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1166,6 +1173,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1179,6 +1187,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1199,6 +1208,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/lib/Makefile.am b/lib/Makefile.am index 30f48f5d..e5bd626c 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -37,8 +37,6 @@ libman_la_SOURCES = \ cleanup.c \ cleanup.h \ debug.c \ - decompress.c \ - decompress.h \ encodings.c \ encodings.h \ glcontainers.c \ @@ -61,7 +59,7 @@ libman_la_SOURCES = \ xregcomp.h libman_la_LIBADD = ../gl/lib/libgnu.la $(LTLIBOBJS) \ - $(LIBCOMPRESS) @LTLIBINTL@ + @LTLIBINTL@ libman_la_LDFLAGS = \ -avoid-version -release $(VERSION) -rpath $(pkglibdir) \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 4d344d6c..9f06cad9 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -184,6 +184,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -296,15 +297,13 @@ am__uninstall_files_from_dir = { \ } am__installdirs = "$(DESTDIR)$(pkglibdir)" LTLIBRARIES = $(pkglib_LTLIBRARIES) -am__DEPENDENCIES_1 = -libman_la_DEPENDENCIES = ../gl/lib/libgnu.la $(LTLIBOBJS) \ - $(am__DEPENDENCIES_1) +libman_la_DEPENDENCIES = ../gl/lib/libgnu.la $(LTLIBOBJS) am_libman_la_OBJECTS = libman_la-appendstr.lo libman_la-cleanup.lo \ - libman_la-debug.lo libman_la-decompress.lo \ - libman_la-encodings.lo libman_la-glcontainers.lo \ - libman_la-linelength.lo libman_la-orderfiles.lo \ - libman_la-pathsearch.lo libman_la-sandbox.lo \ - libman_la-security.lo libman_la-tempfile.lo libman_la-util.lo \ + libman_la-debug.lo libman_la-encodings.lo \ + libman_la-glcontainers.lo libman_la-linelength.lo \ + libman_la-orderfiles.lo libman_la-pathsearch.lo \ + libman_la-sandbox.lo libman_la-security.lo \ + libman_la-tempfile.lo libman_la-util.lo \ libman_la-wordfnmatch.lo libman_la-xregcomp.lo libman_la_OBJECTS = $(am_libman_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) @@ -332,7 +331,6 @@ am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/libman_la-appendstr.Plo \ ./$(DEPDIR)/libman_la-cleanup.Plo \ ./$(DEPDIR)/libman_la-debug.Plo \ - ./$(DEPDIR)/libman_la-decompress.Plo \ ./$(DEPDIR)/libman_la-encodings.Plo \ ./$(DEPDIR)/libman_la-glcontainers.Plo \ ./$(DEPDIR)/libman_la-linelength.Plo \ @@ -459,6 +457,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -666,6 +665,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -740,6 +740,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -747,6 +748,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -828,6 +830,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -850,6 +853,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -900,6 +904,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -919,6 +924,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1019,8 +1025,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1043,7 +1047,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1189,6 +1192,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1237,6 +1241,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1250,6 +1255,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1270,6 +1276,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ @@ -1474,8 +1481,6 @@ libman_la_SOURCES = \ cleanup.c \ cleanup.h \ debug.c \ - decompress.c \ - decompress.h \ encodings.c \ encodings.h \ glcontainers.c \ @@ -1498,7 +1503,7 @@ libman_la_SOURCES = \ xregcomp.h libman_la_LIBADD = ../gl/lib/libgnu.la $(LTLIBOBJS) \ - $(LIBCOMPRESS) @LTLIBINTL@ + @LTLIBINTL@ libman_la_LDFLAGS = \ -avoid-version -release $(VERSION) -rpath $(pkglibdir) \ @@ -1587,7 +1592,6 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libman_la-appendstr.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libman_la-cleanup.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libman_la-debug.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libman_la-decompress.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libman_la-encodings.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libman_la-glcontainers.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libman_la-linelength.Plo@am__quote@ # am--include-marker @@ -1648,13 +1652,6 @@ libman_la-debug.lo: debug.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libman_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libman_la-debug.lo `test -f 'debug.c' || echo '$(srcdir)/'`debug.c -libman_la-decompress.lo: decompress.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libman_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libman_la-decompress.lo -MD -MP -MF $(DEPDIR)/libman_la-decompress.Tpo -c -o libman_la-decompress.lo `test -f 'decompress.c' || echo '$(srcdir)/'`decompress.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libman_la-decompress.Tpo $(DEPDIR)/libman_la-decompress.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='decompress.c' object='libman_la-decompress.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libman_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libman_la-decompress.lo `test -f 'decompress.c' || echo '$(srcdir)/'`decompress.c - libman_la-encodings.lo: encodings.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libman_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libman_la-encodings.lo -MD -MP -MF $(DEPDIR)/libman_la-encodings.Tpo -c -o libman_la-encodings.lo `test -f 'encodings.c' || echo '$(srcdir)/'`encodings.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libman_la-encodings.Tpo $(DEPDIR)/libman_la-encodings.Plo @@ -1869,7 +1866,6 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libman_la-appendstr.Plo -rm -f ./$(DEPDIR)/libman_la-cleanup.Plo -rm -f ./$(DEPDIR)/libman_la-debug.Plo - -rm -f ./$(DEPDIR)/libman_la-decompress.Plo -rm -f ./$(DEPDIR)/libman_la-encodings.Plo -rm -f ./$(DEPDIR)/libman_la-glcontainers.Plo -rm -f ./$(DEPDIR)/libman_la-linelength.Plo @@ -1929,7 +1925,6 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libman_la-appendstr.Plo -rm -f ./$(DEPDIR)/libman_la-cleanup.Plo -rm -f ./$(DEPDIR)/libman_la-debug.Plo - -rm -f ./$(DEPDIR)/libman_la-decompress.Plo -rm -f ./$(DEPDIR)/libman_la-encodings.Plo -rm -f ./$(DEPDIR)/libman_la-glcontainers.Plo -rm -f ./$(DEPDIR)/libman_la-linelength.Plo @@ -8,7 +8,6 @@ information. appendstr.c author - Markus Armbruster cleanup.* author - Markus Armbruster, Colin Watson debug.c author - Colin Watson -decompress.* author - Colin Watson encodings.* author - Colin Watson glcontainers.* author - Colin Watson linelength.* author - Martin Schulze, Jon Tombs, Colin Watson diff --git a/lib/cleanup.c b/lib/cleanup.c index 5aa2e501..cf8aec1c 100644 --- a/lib/cleanup.c +++ b/lib/cleanup.c @@ -45,7 +45,7 @@ static struct sigaction saved_term_action; /* Run cleanups, then reraise signal with default handler. */ -static void +static _Noreturn void sighandler (int signo) { struct sigaction act; diff --git a/lib/debug.c b/lib/debug.c index dd5ade86..53cefe9d 100644 --- a/lib/debug.c +++ b/lib/debug.c @@ -41,7 +41,8 @@ void init_debug (void) debug_level = true; } -static void vdebug (const char *message, va_list args) +static void ATTRIBUTE_FORMAT_PRINTF (1, 0) vdebug (const char *message, + va_list args) { if (debug_level) vfprintf (stderr, message, args); diff --git a/lib/encodings.c b/lib/encodings.c index ccccdbb1..b4660a92 100644 --- a/lib/encodings.c +++ b/lib/encodings.c @@ -39,7 +39,6 @@ #include "pathsearch.h" #include "pipeline.h" -#include "decompress.h" #include "encodings.h" @@ -409,7 +408,7 @@ const char *get_groff_preconv (void) * * The caller should free the returned string when it is finished with it. */ -char *get_page_encoding (const char *lang) +char * _GL_ATTRIBUTE_MALLOC get_page_encoding (const char *lang) { const struct directory_entry *entry; const char *dot; @@ -724,7 +723,7 @@ const char *get_default_device (const char *charset_from_locale, } /* Is this a known *roff device name? */ -bool is_roff_device (const char *device) +bool _GL_ATTRIBUTE_PURE is_roff_device (const char *device) { const struct device_entry *entry; @@ -784,7 +783,7 @@ const char *get_roff_encoding (const char *device, const char *source_encoding) /* Find the output encoding that this device will produce, or NULL if it * will simply pass through the input encoding. */ -const char *get_output_encoding (const char *device) +const char * _GL_ATTRIBUTE_PURE get_output_encoding (const char *device) { const struct device_entry *entry; @@ -796,7 +795,8 @@ const char *get_output_encoding (const char *device) } /* Return the value of LESSCHARSET appropriate for this locale. */ -const char *get_less_charset (const char *charset_from_locale) +const char * _GL_ATTRIBUTE_PURE get_less_charset ( + const char *charset_from_locale) { const struct less_charset_entry *entry; @@ -814,7 +814,8 @@ const char *get_less_charset (const char *charset_from_locale) /* Return the value of JLESSCHARSET appropriate for this locale. May return * NULL. */ -const char *get_jless_charset (const char *charset_from_locale) +const char * _GL_ATTRIBUTE_PURE get_jless_charset ( + const char *charset_from_locale) { const struct less_charset_entry *entry; diff --git a/lib/glcontainers.c b/lib/glcontainers.c index 732cbe42..cbd635cf 100644 --- a/lib/glcontainers.c +++ b/lib/glcontainers.c @@ -37,12 +37,12 @@ #include "glcontainers.h" -bool string_equals (const void *s1, const void *s2) +bool _GL_ATTRIBUTE_PURE string_equals (const void *s1, const void *s2) { return STREQ ((const char *) s1, (const char *) s2); } -size_t string_hash (const void *s) +size_t _GL_ATTRIBUTE_PURE string_hash (const void *s) { return hash_pjw_bare (s, strlen ((const char *) s)); } diff --git a/lib/linelength.c b/lib/linelength.c index 69a702ff..875000df 100644 --- a/lib/linelength.c +++ b/lib/linelength.c @@ -38,6 +38,8 @@ #include <sys/stat.h> #include <fcntl.h> +#include "linelength.h" + #ifndef _PATH_TTY # define _PATH_TTY "/dev/tty" #endif /* _PATH_TTY */ diff --git a/lib/orderfiles.c b/lib/orderfiles.c index b1a17908..b235e192 100644 --- a/lib/orderfiles.c +++ b/lib/orderfiles.c @@ -52,11 +52,12 @@ #include "manconfig.h" #include "glcontainers.h" +#include "orderfiles.h" #if defined(HAVE_LINUX_FIEMAP_H) gl_map_t physical_offsets = NULL; -int compare_physical_offsets (const void *a, const void *b) +static int compare_physical_offsets (const void *a, const void *b) { const char *left = (const char *) a; const char *right = (const char *) b; @@ -170,7 +171,7 @@ void order_files (const char *dir, gl_list_t *basenamesp) close (dir_fd); } #else -void order_files (const char *dir, gl_list_t *basenamesp) +void order_files (const char *dir _GL_UNUSED, gl_list_t *basenamesp _GL_UNUSED) { } #endif diff --git a/lib/sandbox.c b/lib/sandbox.c index 22924435..21ec28aa 100644 --- a/lib/sandbox.c +++ b/lib/sandbox.c @@ -232,7 +232,7 @@ static scmp_filter_ctx make_seccomp_filter (int permissive) ; debug ("initialising seccomp filter (permissive: %d)\n", permissive); - ctx = seccomp_init (SCMP_ACT_TRAP); + ctx = seccomp_init (SCMP_ACT_ERRNO (EPERM)); if (!ctx) error (FATAL, errno, "can't initialise seccomp filter"); @@ -484,12 +484,11 @@ static scmp_filter_ctx make_seccomp_filter (int permissive) SC_ALLOW ("sync_file_range"); SC_ALLOW ("syncfs"); - /* Extra syscalls not in any of systemd's sets. */ - SC_ALLOW ("arm_fadvise64_64"); - SC_ALLOW ("arm_sync_file_range"); + /* systemd: SystemCallFilter=@system-service (subset) */ SC_ALLOW ("brk"); SC_ALLOW ("fadvise64"); SC_ALLOW ("fadvise64_64"); + SC_ALLOW ("getrandom"); if (permissive) SC_ALLOW ("ioctl"); else { @@ -500,10 +499,14 @@ static scmp_filter_ctx make_seccomp_filter (int permissive) SC_ALLOW ("mprotect"); SC_ALLOW ("mremap"); SC_ALLOW ("sched_getaffinity"); - SC_ALLOW ("sync_file_range2"); SC_ALLOW ("sysinfo"); SC_ALLOW ("uname"); + /* Extra syscalls not in any of systemd's sets. */ + SC_ALLOW ("arm_fadvise64_64"); + SC_ALLOW ("arm_sync_file_range"); + SC_ALLOW ("sync_file_range2"); + /* Allow killing processes and threads. This is unfortunate but * unavoidable: groff uses kill to explicitly pass on SIGPIPE to its * child processes, and we can't do any more sophisticated filtering @@ -535,6 +538,7 @@ static scmp_filter_ctx make_seccomp_filter (int permissive) search_ld_preload ("libsnoopy.so")) { SC_ALLOW ("connect"); SC_ALLOW ("recvmsg"); + SC_ALLOW ("sendmsg"); SC_ALLOW ("sendto"); SC_ALLOW ("setsockopt"); SC_ALLOW_ARG_1 ("socket", SCMP_A0 (SCMP_CMP_EQ, AF_UNIX)); @@ -607,8 +611,8 @@ static void _sandbox_load (man_sandbox *sandbox, int permissive) { } } #else /* !HAVE_LIBSECCOMP */ -static void _sandbox_load (man_sandbox *sandbox ATTRIBUTE_UNUSED, - int permissive ATTRIBUTE_UNUSED) +static void _sandbox_load (man_sandbox *sandbox _GL_UNUSED, + int permissive _GL_UNUSED) { } #endif /* HAVE_LIBSECCOMP */ diff --git a/lib/security.c b/lib/security.c index 7d66eaf4..55f2d85d 100644 --- a/lib/security.c +++ b/lib/security.c @@ -95,7 +95,7 @@ void init_security (void) #endif /* MAN_OWNER */ } -bool running_setuid (void) +bool _GL_ATTRIBUTE_PURE running_setuid (void) { #ifdef MAN_OWNER return ruid != euid; @@ -169,7 +169,7 @@ void regain_effective_privs (void) } /* Pipeline command pre-exec hook to permanently drop privileges. */ -void drop_privs (void *data ATTRIBUTE_UNUSED) +void drop_privs (void *data _GL_UNUSED) { #ifdef MAN_OWNER if (idpriv_drop ()) @@ -193,7 +193,7 @@ int remove_directory (const char *directory, int recurse) /* Returns an allocated copy of s, with leading and trailing spaces * removed. */ -char *trim_spaces (const char *s) +char * _GL_ATTRIBUTE_MALLOC trim_spaces (const char *s) { int length; while (*s == ' ') diff --git a/libdb/Makefile.am b/libdb/Makefile.am index 0015b84b..2851dfa3 100644 --- a/libdb/Makefile.am +++ b/libdb/Makefile.am @@ -39,6 +39,8 @@ libmandb_la_SOURCES = \ db_storage.h \ db_store.c \ db_ver.c \ + db_xdbm.c \ + db_xdbm.h \ mydbm.h libmandb_la_LIBADD = ../lib/libman.la $(DBLIBS) diff --git a/libdb/Makefile.in b/libdb/Makefile.in index afc0b5ea..04607282 100644 --- a/libdb/Makefile.in +++ b/libdb/Makefile.in @@ -184,6 +184,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -301,7 +302,8 @@ libmandb_la_DEPENDENCIES = ../lib/libman.la $(am__DEPENDENCIES_1) am_libmandb_la_OBJECTS = libmandb_la-db_btree.lo \ libmandb_la-db_delete.lo libmandb_la-db_gdbm.lo \ libmandb_la-db_lookup.lo libmandb_la-db_ndbm.lo \ - libmandb_la-db_store.lo libmandb_la-db_ver.lo + libmandb_la-db_store.lo libmandb_la-db_ver.lo \ + libmandb_la-db_xdbm.lo libmandb_la_OBJECTS = $(am_libmandb_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -331,7 +333,8 @@ am__depfiles_remade = ./$(DEPDIR)/libmandb_la-db_btree.Plo \ ./$(DEPDIR)/libmandb_la-db_lookup.Plo \ ./$(DEPDIR)/libmandb_la-db_ndbm.Plo \ ./$(DEPDIR)/libmandb_la-db_store.Plo \ - ./$(DEPDIR)/libmandb_la-db_ver.Plo + ./$(DEPDIR)/libmandb_la-db_ver.Plo \ + ./$(DEPDIR)/libmandb_la-db_xdbm.Plo am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -447,6 +450,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -654,6 +658,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -728,6 +733,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -735,6 +741,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -816,6 +823,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -838,6 +846,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -888,6 +897,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -907,6 +917,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1007,8 +1018,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1031,7 +1040,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1177,6 +1185,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1225,6 +1234,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1238,6 +1248,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1258,6 +1269,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ @@ -1464,6 +1476,8 @@ libmandb_la_SOURCES = \ db_storage.h \ db_store.c \ db_ver.c \ + db_xdbm.c \ + db_xdbm.h \ mydbm.h libmandb_la_LIBADD = ../lib/libman.la $(DBLIBS) @@ -1555,6 +1569,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmandb_la-db_ndbm.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmandb_la-db_store.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmandb_la-db_ver.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmandb_la-db_xdbm.Plo@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @@ -1632,6 +1647,13 @@ libmandb_la-db_ver.lo: db_ver.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmandb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmandb_la-db_ver.lo `test -f 'db_ver.c' || echo '$(srcdir)/'`db_ver.c +libmandb_la-db_xdbm.lo: db_xdbm.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmandb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmandb_la-db_xdbm.lo -MD -MP -MF $(DEPDIR)/libmandb_la-db_xdbm.Tpo -c -o libmandb_la-db_xdbm.lo `test -f 'db_xdbm.c' || echo '$(srcdir)/'`db_xdbm.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmandb_la-db_xdbm.Tpo $(DEPDIR)/libmandb_la-db_xdbm.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='db_xdbm.c' object='libmandb_la-db_xdbm.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmandb_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmandb_la-db_xdbm.lo `test -f 'db_xdbm.c' || echo '$(srcdir)/'`db_xdbm.c + mostlyclean-libtool: -rm -f *.lo @@ -1773,6 +1795,7 @@ distclean: distclean-am -rm -f ./$(DEPDIR)/libmandb_la-db_ndbm.Plo -rm -f ./$(DEPDIR)/libmandb_la-db_store.Plo -rm -f ./$(DEPDIR)/libmandb_la-db_ver.Plo + -rm -f ./$(DEPDIR)/libmandb_la-db_xdbm.Plo -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -1825,6 +1848,7 @@ maintainer-clean: maintainer-clean-am -rm -f ./$(DEPDIR)/libmandb_la-db_ndbm.Plo -rm -f ./$(DEPDIR)/libmandb_la-db_store.Plo -rm -f ./$(DEPDIR)/libmandb_la-db_ver.Plo + -rm -f ./$(DEPDIR)/libmandb_la-db_xdbm.Plo -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff --git a/libdb/db_btree.c b/libdb/db_btree.c index b4e426cc..917e286c 100644 --- a/libdb/db_btree.c +++ b/libdb/db_btree.c @@ -61,16 +61,22 @@ gl_set_t loop_check; blocking method is used ": Try again". This adopts GNU dbm's approach. */ /* release the lock and close the database */ -int btree_close (DB *db) +void man_btree_close (man_btree_wrapper wrap) { - (void) flock ((db->fd) (db), LOCK_UN); - return (db->close) (db); + if (!wrap) + return; + + free (wrap->name); + (void) flock ((wrap->file->fd) (wrap->file), LOCK_UN); + (wrap->file->close) (wrap->file); + free (wrap); } /* open a btree type database, with file locking. */ -DB *btree_flopen (char *filename, int flags, int mode) +man_btree_wrapper man_btree_open (const char *name, int flags, int mode) { - DB *db; + man_btree_wrapper wrap; + DB *file; BTREEINFO b; int lock_op; int lock_failed; @@ -102,7 +108,7 @@ DB *btree_flopen (char *filename, int flags, int mode) * and ignore the database if it's zero-length. */ struct stat iszero; - if (stat (filename, &iszero) < 0) + if (stat (name, &iszero) < 0) return NULL; if (iszero.st_size == 0) { errno = EINVAL; @@ -114,54 +120,59 @@ DB *btree_flopen (char *filename, int flags, int mode) /* opening the db is destructive, need to lock first */ int fd; - db = NULL; + file = NULL; lock_failed = 1; - fd = open (filename, flags & ~O_TRUNC, mode); + fd = open (name, flags & ~O_TRUNC, mode); if (fd != -1) { if (!(lock_failed = flock (fd, lock_op))) - db = dbopen (filename, flags, mode, - DB_BTREE, &b); + file = dbopen (name, flags, mode, + DB_BTREE, &b); close (fd); } } else { - db = dbopen (filename, flags, mode, DB_BTREE, &b); - if (db) - lock_failed = flock ((db->fd) (db), lock_op); + file = dbopen (name, flags, mode, DB_BTREE, &b); + if (file) + lock_failed = flock ((file->fd) (file), lock_op); } - if (!db) + if (!file) return NULL; if (lock_failed) { - gripe_lock (filename); - btree_close (db); + gripe_lock (name); + (file->close) (file); return NULL; } - return db; + wrap = xmalloc (sizeof *wrap); + wrap->name = xstrdup (name); + wrap->file = file; + + return wrap; } /* do a replace when we have the duplicate flag set on the database - we must do a del and insert, as a direct insert will not wipe out the old entry */ -int btree_replace (DB *db, datum key, datum cont) +int man_btree_replace (man_btree_wrapper wrap, datum key, datum cont) { - return (db->put) (db, (DBT *) &key, (DBT *) &cont, 0); + return (wrap->file->put) (wrap->file, (DBT *) &key, (DBT *) &cont, 0); } -int btree_insert (DB *db, datum key, datum cont) +int man_btree_insert (man_btree_wrapper wrap, datum key, datum cont) { - return (db->put) (db, (DBT *) &key, (DBT *) &cont, R_NOOVERWRITE); + return (wrap->file->put) (wrap->file, (DBT *) &key, (DBT *) &cont, + R_NOOVERWRITE); } /* generic fetch routine for the btree database */ -datum btree_fetch (DB *db, datum key) +datum man_btree_fetch (man_btree_wrapper wrap, datum key) { datum data; memset (&data, 0, sizeof data); - if ((db->get) (db, (DBT *) &key, (DBT *) &data, 0)) { + if ((wrap->file->get) (wrap->file, (DBT *) &key, (DBT *) &data, 0)) { memset (&data, 0, sizeof data); return data; } @@ -170,14 +181,15 @@ datum btree_fetch (DB *db, datum key) } /* return 1 if the key exists, 0 otherwise */ -int btree_exists (DB *db, datum key) +int man_btree_exists (man_btree_wrapper wrap, datum key) { datum data; - return ((db->get) (db, (DBT *) &key, (DBT *) &data, 0) ? 0 : 1); + return ((wrap->file->get) (wrap->file, (DBT *) &key, (DBT *) &data, + 0) ? 0 : 1); } /* initiate a sequential access */ -static datum btree_findkey (DB *db, u_int flags) +static datum man_btree_findkey (man_btree_wrapper wrap, u_int flags) { datum key, data; char *loop_check_key; @@ -194,7 +206,8 @@ static datum btree_findkey (DB *db, u_int flags) if (!loop_check) loop_check = new_string_set (GL_HASH_SET); - if (((db->seq) (db, (DBT *) &key, (DBT *) &data, flags))) { + if (((wrap->file->seq) (wrap->file, (DBT *) &key, (DBT *) &data, + flags))) { memset (&key, 0, sizeof key); return key; } @@ -218,26 +231,27 @@ static datum btree_findkey (DB *db, u_int flags) } /* return the first key in the db */ -datum btree_firstkey (DB *db) +datum man_btree_firstkey (man_btree_wrapper wrap) { - return btree_findkey (db, R_FIRST); + return man_btree_findkey (wrap, R_FIRST); } /* return the next key in the db. NB. This routine only works if the cursor - has been previously set by btree_firstkey() since it was last opened. So + has been previously set by man_btree_firstkey() since it was last opened. So if we close/reopen a db mid search, we have to manually set up the cursor again. */ -datum btree_nextkey (DB *db) +datum man_btree_nextkey (man_btree_wrapper wrap) { - return btree_findkey (db, R_NEXT); + return man_btree_findkey (wrap, R_NEXT); } /* compound nextkey routine, initialising key and content */ -int btree_nextkeydata (DB *db, datum *key, datum *cont) +int man_btree_nextkeydata (man_btree_wrapper wrap, datum *key, datum *cont) { int status; - if ((status = (db->seq) (db, (DBT *) key, (DBT *) cont, R_NEXT)) != 0) + if ((status = (wrap->file->seq) (wrap->file, (DBT *) key, (DBT *) cont, + R_NEXT)) != 0) return status; *key = copy_datum (*key); @@ -246,11 +260,11 @@ int btree_nextkeydata (DB *db, datum *key, datum *cont) return 0; } -struct timespec btree_get_time (DB *db) +struct timespec man_btree_get_time (man_btree_wrapper wrap) { struct stat st; - if (fstat ((db->fd) (db), &st) < 0) { + if (fstat ((wrap->file->fd) (wrap->file), &st) < 0) { struct timespec t; t.tv_sec = -1; t.tv_nsec = -1; @@ -259,13 +273,13 @@ struct timespec btree_get_time (DB *db) return get_stat_mtime (&st); } -void btree_set_time (DB *db, const struct timespec time) +void man_btree_set_time (man_btree_wrapper wrap, const struct timespec time) { struct timespec times[2]; times[0] = time; times[1] = time; - futimens ((db->fd) (db), times); + futimens ((wrap->file->fd) (wrap->file), times); } #endif /* BTREE */ diff --git a/libdb/db_delete.c b/libdb/db_delete.c index d1e99385..24ce1d83 100644 --- a/libdb/db_delete.c +++ b/libdb/db_delete.c @@ -104,7 +104,7 @@ int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *info) error (0, 0, _( "multi key %s does not exist"), MYDBM_DPTR (multi_key)); - gripe_corrupt_data (); + gripe_corrupt_data (dbf); } MYDBM_DELETE (dbf, multi_key); MYDBM_FREE_DPTR (multi_key); @@ -132,7 +132,7 @@ int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *info) MYDBM_FREE_DPTR (cont); MYDBM_SET (cont, multi_content); if (MYDBM_REPLACE (dbf, key, cont)) - gripe_replace_key (MYDBM_DPTR (key)); + gripe_replace_key (dbf, MYDBM_DPTR (key)); gl_list_free (refs); } diff --git a/libdb/db_gdbm.c b/libdb/db_gdbm.c index d8fb988d..1062f357 100644 --- a/libdb/db_gdbm.c +++ b/libdb/db_gdbm.c @@ -34,23 +34,16 @@ #include <sys/stat.h> #include <unistd.h> -#include "gl_hash_map.h" -#include "gl_rbtree_list.h" -#include "gl_xlist.h" -#include "gl_xmap.h" -#include "hash-pjw-bare.h" #include "stat-time.h" #include "timespec.h" #include "manconfig.h" #include "cleanup.h" -#include "glcontainers.h" +#include "db_xdbm.h" #include "mydbm.h" -static gl_map_t parent_keys; - /* setjmp/longjmp handling to defend against _gdbm_fatal exiting under our * feet. Not thread-safe, but there is no plan for man-db to ever use * threads. @@ -103,111 +96,24 @@ man_gdbm_wrapper man_gdbm_open_wrapper (const char *name, int flags) return wrap; } -static int datum_compare (const void *a, const void *b) -{ - const datum *left = (const datum *) a; - const datum *right = (const datum *) b; - int cmp; - size_t minsize; - - /* Sentinel NULL elements sort to the end. */ - if (!MYDBM_DPTR (*left)) - return 1; - else if (!MYDBM_DPTR (*right)) - return -1; - - if (MYDBM_DSIZE (*left) < MYDBM_DSIZE (*right)) - minsize = MYDBM_DSIZE (*left); - else - minsize = MYDBM_DSIZE (*right); - cmp = strncmp (MYDBM_DPTR (*left), MYDBM_DPTR (*right), minsize); - if (cmp) - return cmp; - else if (MYDBM_DSIZE (*left) < MYDBM_DSIZE (*right)) - return 1; - else if (MYDBM_DSIZE (*left) > MYDBM_DSIZE (*right)) - return -1; - else - return 0; -} - -static bool datum_equals (const void *a, const void *b) +static datum unsorted_firstkey (man_gdbm_wrapper wrap) { - return datum_compare (a, b) == 0; + return gdbm_firstkey (wrap->file); } -static size_t datum_hash (const void *value) +static datum unsorted_nextkey (man_gdbm_wrapper wrap, datum key) { - const datum *d = value; - return hash_pjw_bare (MYDBM_DPTR (*d), MYDBM_DSIZE (*d)); + return gdbm_nextkey (wrap->file, key); } -static void datum_free (const void *value) -{ - MYDBM_FREE_DPTR (*(datum *) value); -} - -static datum empty_datum = { NULL, 0 }; - -/* We keep a map of filenames to sorted lists of keys. Each list is stored - * using a hash-based implementation that allows lookup by name and - * traversal to the next item in O(log n) time, which is necessary for a - * reasonable ordered implementation of nextkey. - */ datum man_gdbm_firstkey (man_gdbm_wrapper wrap) { - gl_list_t keys; - datum *key; - - /* Build the raw sorted list of keys. */ - keys = gl_list_create_empty (GL_RBTREE_LIST, datum_equals, datum_hash, - datum_free, false); - key = XMALLOC (datum); - *key = gdbm_firstkey (wrap->file); - while (MYDBM_DPTR (*key)) { - datum *next; - - gl_sortedlist_add (keys, datum_compare, key); - next = XMALLOC (datum); - *next = gdbm_nextkey (wrap->file, *key); - key = next; - } - - if (!parent_keys) { - parent_keys = new_string_map (GL_HASH_MAP, - (gl_listelement_dispose_fn) - gl_list_free); - push_cleanup ((cleanup_fun) gl_map_free, parent_keys, 0); - } - - /* Remember this structure for use by nextkey. */ - gl_map_put (parent_keys, xstrdup (wrap->name), keys); - - if (gl_list_size (keys)) - return copy_datum (*(datum *) gl_list_get_at (keys, 0)); - else - return empty_datum; + return man_xdbm_firstkey (wrap, unsorted_firstkey, unsorted_nextkey); } datum man_gdbm_nextkey (man_gdbm_wrapper wrap, datum key) { - gl_list_t keys; - gl_list_node_t node, next_node; - - if (!parent_keys) - return empty_datum; - keys = (gl_list_t) gl_map_get (parent_keys, wrap->name); - if (!keys) - return empty_datum; - - node = gl_sortedlist_search (keys, datum_compare, &key); - if (!node) - return empty_datum; - next_node = gl_list_next_node (keys, node); - if (!next_node) - return empty_datum; - - return copy_datum (*(datum *) gl_list_node_value (keys, next_node)); + return man_xdbm_nextkey (wrap, key); } struct timespec man_gdbm_get_time (man_gdbm_wrapper wrap) @@ -232,17 +138,14 @@ void man_gdbm_set_time (man_gdbm_wrapper wrap, const struct timespec time) futimens (gdbm_fdesc (wrap->file), times); } -void man_gdbm_close (man_gdbm_wrapper wrap) +static void raw_close (man_gdbm_wrapper wrap) { - if (!wrap) - return; - - if (parent_keys) - gl_map_remove (parent_keys, wrap->name); - - free (wrap->name); gdbm_close (wrap->file); - free (wrap); +} + +void man_gdbm_close (man_gdbm_wrapper wrap) +{ + man_xdbm_close (wrap, raw_close); } #ifndef HAVE_GDBM_EXISTS diff --git a/libdb/db_lookup.c b/libdb/db_lookup.c index 28cd90e2..9ff72d6c 100644 --- a/libdb/db_lookup.c +++ b/libdb/db_lookup.c @@ -70,23 +70,23 @@ datum copy_datum (datum dat) /* gdbm does locking itself. */ #if defined(NDBM) || defined(BTREE) -void gripe_lock (char *filename) +void gripe_lock (const char *filename) { error (0, errno, _("can't lock index cache %s"), filename); } #endif /* NDBM || BTREE */ /* issue fatal message, then exit */ -void gripe_corrupt_data (void) +void gripe_corrupt_data (MYDBM_FILE dbf) { - error (FATAL, 0, _("index cache %s corrupt"), database); + error (FATAL, 0, _("index cache %s corrupt"), dbf->name); } /* deal with situation where we cannot replace a key */ -void gripe_replace_key (const char *data) +void gripe_replace_key (MYDBM_FILE dbf, const char *data) { error (0, 0, _("cannot replace key %s"), data); - gripe_corrupt_data (); + gripe_corrupt_data (dbf); } static char *copy_if_set (const char *str) @@ -97,7 +97,7 @@ static char *copy_if_set (const char *str) return xstrdup (str); } -const char *dash_if_unset (const char *str) +const char * _GL_ATTRIBUTE_CONST dash_if_unset (const char *str) { if (str) return str; @@ -171,7 +171,7 @@ char *name_to_key (const char *name) } /* return char ptr array to the data's fields */ -static char **split_data (char *content, char *start[]) +static char **split_data (MYDBM_FILE dbf, char *content, char *start[]) { int count; @@ -183,7 +183,7 @@ static char **split_data (char *content, char *start[]) ngettext ("only %d field in content", "only %d fields in content", count), count); - gripe_corrupt_data (); + gripe_corrupt_data (dbf); } } @@ -194,19 +194,19 @@ static char **split_data (char *content, char *start[]) ngettext ("only %d field in content", "only %d fields in content", FIELDS - 1), FIELDS - 1); - gripe_corrupt_data (); + gripe_corrupt_data (dbf); } return start; } /* Parse the db-returned data and put it into a mandata format */ -void split_content (char *cont_ptr, struct mandata *pinfo) +void split_content (MYDBM_FILE dbf, char *cont_ptr, struct mandata *pinfo) { char *start[FIELDS]; char **data; - data = split_data (cont_ptr, start); + data = split_data (dbf, cont_ptr, start); pinfo->name = copy_if_set (*(data++)); pinfo->ext = *(data++); @@ -255,7 +255,7 @@ gl_list_t list_extensions (char *data) gl_list_add_last (list, name_ext); } - debug ("found %zd names/extensions\n", gl_list_size (list)); + debug ("found %zu names/extensions\n", gl_list_size (list)); return list; } @@ -296,7 +296,7 @@ static gl_list_t dblookup (MYDBM_FILE dbf, const char *page, bool matches = false; info = infoalloc (); - split_content (MYDBM_DPTR (cont), info); + split_content (dbf, MYDBM_DPTR (cont), info); if (!info->name) info->name = xstrdup (page); if (!(flags & MATCH_CASE) || STREQ (info->name, page)) { @@ -357,13 +357,13 @@ static gl_list_t dblookup (MYDBM_FILE dbf, const char *page, if (MYDBM_DPTR (multi_cont) == NULL) { error (0, 0, _("bad fetch on multi key %s"), MYDBM_DPTR (key)); - gripe_corrupt_data (); + gripe_corrupt_data (dbf); } MYDBM_FREE_DPTR (key); /* Allocate info struct and add it to the list. */ info = infoalloc (); - split_content (MYDBM_DPTR (multi_cont), info); + split_content (dbf, MYDBM_DPTR (multi_cont), info); if (!info->name) info->name = xstrdup (ref->name); gl_list_add_last (infos, info); @@ -427,7 +427,7 @@ gl_list_t dblookup_pattern (MYDBM_FILE dbf, const char *pattern, #else /* BTREE */ int end; - end = btree_nextkeydata (dbf, &key, &cont); + end = man_btree_nextkeydata (dbf, &key, &cont); while (!end) { #endif /* !BTREE */ struct mandata info; @@ -442,7 +442,7 @@ gl_list_t dblookup_pattern (MYDBM_FILE dbf, const char *pattern, error (FATAL, 0, _("Database %s corrupted; rebuild with " "mandb --create"), - database); + dbf->name); } if (*MYDBM_DPTR (key) == '$') @@ -453,7 +453,7 @@ gl_list_t dblookup_pattern (MYDBM_FILE dbf, const char *pattern, /* a real page */ - split_content (MYDBM_DPTR (cont), &info); + split_content (dbf, MYDBM_DPTR (cont), &info); /* If there's a section given, does it match either the * section or extension of this page? @@ -505,7 +505,7 @@ nextpage: #else /* BTREE */ MYDBM_FREE_DPTR (cont); MYDBM_FREE_DPTR (key); - end = btree_nextkeydata (dbf, &key, &cont); + end = man_btree_nextkeydata (dbf, &key, &cont); #endif /* !BTREE */ info.addr = NULL; free_mandata_elements (&info); diff --git a/libdb/db_ndbm.c b/libdb/db_ndbm.c index 992173ae..64000c1c 100644 --- a/libdb/db_ndbm.c +++ b/libdb/db_ndbm.c @@ -41,21 +41,28 @@ #include "manconfig.h" -#include "mydbm.h" #include "db_storage.h" +#include "db_xdbm.h" +#include "mydbm.h" /* release the lock and close the database */ -int ndbm_flclose (DBM *db) +static void raw_close (man_ndbm_wrapper wrap) +{ + flock (dbm_dirfno (wrap->file), LOCK_UN); + dbm_close (wrap->file); +} + +void man_ndbm_close (man_ndbm_wrapper wrap) { - flock (dbm_dirfno (db), LOCK_UN); - dbm_close (db); - return 0; + man_xdbm_close (wrap, raw_close); } /* open a ndbm type database, with file locking. */ -DBM* ndbm_flopen (char *filename, int flags, int mode) +man_ndbm_wrapper man_ndbm_open (const char *name, int flags, int mode) { - DBM *db; + man_ndbm_wrapper wrap; + char *name_copy; + DBM *file; int lock_op; int lock_failed; @@ -66,44 +73,76 @@ DBM* ndbm_flopen (char *filename, int flags, int mode) lock_op = LOCK_SH | LOCK_NB; } + /* At least GDBM's version of dbm_open declares the file name + * parameter as non-const. This is probably incorrect, but take a + * copy just in case. + */ + name_copy = xstrdup (name); + if (flags & O_TRUNC) { /* opening the db is destructive, need to lock first */ char *dir_fname; int dir_fd; - db = NULL; + file = NULL; lock_failed = 1; - dir_fname = xasprintf ("%s.dir", filename); + dir_fname = xasprintf ("%s.dir", name); dir_fd = open (dir_fname, flags & ~O_TRUNC, mode); free (dir_fname); if (dir_fd != -1) { if (!(lock_failed = flock (dir_fd, lock_op))) - db = dbm_open (filename, flags, mode); + file = dbm_open (name_copy, flags, mode); close (dir_fd); } } else { - db = dbm_open (filename, flags, mode); - if (db) - lock_failed = flock (dbm_dirfno (db), lock_op); + file = dbm_open (name_copy, flags, mode); + if (file) + lock_failed = flock (dbm_dirfno (file), lock_op); } - if (!db) + free (name_copy); + + if (!file) return NULL; if (lock_failed) { - gripe_lock (filename); - dbm_close (db); + gripe_lock (name); + dbm_close (file); return NULL; } - return db; + wrap = xmalloc (sizeof *wrap); + wrap->name = xstrdup (name); + wrap->file = file; + + return wrap; +} + +static datum unsorted_firstkey (man_ndbm_wrapper wrap) +{ + return copy_datum (dbm_firstkey (wrap->file)); +} + +static datum unsorted_nextkey (man_ndbm_wrapper wrap, datum key _GL_UNUSED) +{ + return copy_datum (dbm_nextkey (wrap->file)); +} + +datum man_ndbm_firstkey (man_ndbm_wrapper wrap) +{ + return man_xdbm_firstkey (wrap, unsorted_firstkey, unsorted_nextkey); +} + +datum man_ndbm_nextkey (man_ndbm_wrapper wrap, datum key) +{ + return man_xdbm_nextkey (wrap, key); } -struct timespec ndbm_get_time (DBM *db) +struct timespec man_ndbm_get_time (man_ndbm_wrapper wrap) { struct stat st; - if (fstat (dbm_dirfno (db), &st) < 0) { + if (fstat (dbm_dirfno (wrap->file), &st) < 0) { struct timespec t; t.tv_sec = -1; t.tv_nsec = -1; @@ -112,13 +151,13 @@ struct timespec ndbm_get_time (DBM *db) return get_stat_mtime (&st); } -void ndbm_set_time (DBM *db, const struct timespec time) +void man_ndbm_set_time (man_ndbm_wrapper wrap, const struct timespec time) { struct timespec times[2]; times[0] = time; times[1] = time; - futimens (dbm_dirfno (db), times); + futimens (dbm_dirfno (wrap->file), times); } #endif /* NDBM */ diff --git a/libdb/db_storage.h b/libdb/db_storage.h index a04196bc..c6d412f9 100644 --- a/libdb/db_storage.h +++ b/libdb/db_storage.h @@ -90,12 +90,13 @@ extern int dbdelete (MYDBM_FILE dbf, const char *name, struct mandata *in); extern void dbprintf (const struct mandata *info); extern void free_mandata_elements (struct mandata *pinfo); extern void free_mandata_struct (struct mandata *pinfo); -extern void split_content (char *cont_ptr, struct mandata *pinfo); +extern void split_content (MYDBM_FILE dbf, char *cont_ptr, + struct mandata *pinfo); extern int compare_ids (char a, char b, int promote_links); /* local to db routines */ -extern void gripe_lock (char *filename); -extern void gripe_corrupt_data (void); +extern void gripe_lock (const char *filename); +extern void gripe_corrupt_data (MYDBM_FILE dbf); extern datum make_multi_key (const char *page, const char *ext); /* allocate a mandata structure */ @@ -104,7 +105,7 @@ extern datum make_multi_key (const char *page, const char *ext); extern char *name_to_key (const char *name); /* Returns a list of struct name_ext. */ extern gl_list_t list_extensions (char *data); -extern void gripe_replace_key (const char *data); +extern void gripe_replace_key (MYDBM_FILE dbf, const char *data); extern const char *dash_if_unset (const char *str); #endif diff --git a/libdb/db_store.c b/libdb/db_store.c index 062db71f..508a41aa 100644 --- a/libdb/db_store.c +++ b/libdb/db_store.c @@ -33,9 +33,6 @@ #include "timespec.h" #include "xvasprintf.h" -#include "gettext.h" -#define _(String) gettext (String) - #include "manconfig.h" #include "error.h" @@ -52,7 +49,7 @@ * If promote_links is true, consider SO_MAN equivalent to ULT_MAN. This is * appropriate when sorting candidate pages for display. */ -int compare_ids (char a, char b, int promote_links) +int _GL_ATTRIBUTE_CONST compare_ids (char a, char b, int promote_links) { #ifdef FAVOUR_STRAYCATS if (a == WHATIS_MAN && b == STRAY_CAT) @@ -94,13 +91,13 @@ static int replace_if_necessary (MYDBM_FILE dbf, timespec_cmp (newdata->mtime, olddata->mtime) > 0) { debug ("replace_if_necessary(): newer mtime; replacing\n"); if (MYDBM_REPLACE (dbf, newkey, newcont)) - gripe_replace_key (MYDBM_DPTR (newkey)); + gripe_replace_key (dbf, MYDBM_DPTR (newkey)); return 0; } if (compare_ids (newdata->id, olddata->id, 0) < 0) { if (MYDBM_REPLACE (dbf, newkey, newcont)) - gripe_replace_key (MYDBM_DPTR (newkey)); + gripe_replace_key (dbf, MYDBM_DPTR (newkey)); return 0; } @@ -221,7 +218,7 @@ int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base) in->name = xstrdup (base); oldcont = make_content (in); if (MYDBM_REPLACE (dbf, oldkey, oldcont)) - gripe_replace_key (MYDBM_DPTR (oldkey)); + gripe_replace_key (dbf, MYDBM_DPTR (oldkey)); MYDBM_FREE_DPTR (oldcont); free (in->name); in->name = NULL; @@ -243,7 +240,7 @@ int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base) MYDBM_FREE_DPTR (oldcont); cont = MYDBM_FETCH (dbf, newkey); - split_content (MYDBM_DPTR (cont), &info); + split_content (dbf, MYDBM_DPTR (cont), &info); ret = replace_if_necessary (dbf, in, &info, newkey, newcont); /* MYDBM_FREE_DPTR (cont); */ @@ -270,7 +267,7 @@ int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base) /* Try to replace the old simple data with the new stuff */ if (MYDBM_REPLACE (dbf, oldkey, newcont)) - gripe_replace_key (MYDBM_DPTR (oldkey)); + gripe_replace_key (dbf, MYDBM_DPTR (oldkey)); MYDBM_FREE_DPTR (newcont); } else { /* situation (3) */ @@ -285,7 +282,7 @@ int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base) /* Extract the old singular reference */ - split_content (MYDBM_DPTR (oldcont), &old); + split_content (dbf, MYDBM_DPTR (oldcont), &old); /* Create multi keys for both old and new items, create new content */ @@ -336,7 +333,7 @@ int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base) * certainly better. */ if (MYDBM_REPLACE (dbf, lastkey, lastcont)) - gripe_replace_key (MYDBM_DPTR (lastkey)); + gripe_replace_key (dbf, MYDBM_DPTR (lastkey)); MYDBM_FREE_DPTR (lastkey); MYDBM_FREE_DPTR (lastcont); @@ -345,7 +342,7 @@ int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base) newcont = make_content (in); if (MYDBM_REPLACE (dbf, newkey, newcont)) - gripe_replace_key (MYDBM_DPTR (newkey)); + gripe_replace_key (dbf, MYDBM_DPTR (newkey)); MYDBM_FREE_DPTR (newkey); MYDBM_FREE_DPTR (newcont); @@ -356,7 +353,7 @@ int dbstore (MYDBM_FILE dbf, struct mandata *in, const char *base) "\t%s\t%s\t%s\t%s", old_name, old.ext, base, in->ext)); if (MYDBM_REPLACE (dbf, oldkey, newcont)) - gripe_replace_key (MYDBM_DPTR (oldkey)); + gripe_replace_key (dbf, MYDBM_DPTR (oldkey)); /* MYDBM_FREE_DPTR (oldcont); */ free_mandata_elements (&old); diff --git a/libdb/db_ver.c b/libdb/db_ver.c index 5ac306d2..56b73392 100644 --- a/libdb/db_ver.c +++ b/libdb/db_ver.c @@ -50,11 +50,12 @@ int dbver_rd (MYDBM_FILE dbfile) MYDBM_FREE_DPTR (key); if (MYDBM_DPTR (content) == NULL) { - debug (_("warning: %s has no version identifier\n"), database); + debug (_("warning: %s has no version identifier\n"), + dbfile->name); return 1; } else if (!STREQ (MYDBM_DPTR (content), VER_ID)) { debug (_("warning: %s is version %s, expecting %s\n"), - database, MYDBM_DPTR (content), VER_ID); + dbfile->name, MYDBM_DPTR (content), VER_ID); MYDBM_FREE_DPTR (content); return 1; } else { @@ -76,7 +77,7 @@ void dbver_wr (MYDBM_FILE dbfile) if (MYDBM_INSERT (dbfile, key, content) != 0) error (FATAL, 0, _("fatal: unable to insert version identifier into %s"), - database); + dbfile->name); MYDBM_FREE_DPTR (key); MYDBM_FREE_DPTR (content); diff --git a/libdb/db_xdbm.c b/libdb/db_xdbm.c new file mode 100644 index 00000000..f0a9932e --- /dev/null +++ b/libdb/db_xdbm.c @@ -0,0 +1,169 @@ +/* + * db_xdbm.c: common code for gdbm and ndbm backends + * + * Copyright (C) 2003-2019 Colin Watson. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif /* HAVE_CONFIG_H */ + +#if defined(GDBM) || defined(NDBM) + +#include <stdbool.h> +#include <string.h> +#include <stdlib.h> + +#include "gl_hash_map.h" +#include "gl_rbtree_list.h" +#include "gl_xlist.h" +#include "gl_xmap.h" +#include "hash-pjw-bare.h" + +#include "manconfig.h" + +#include "cleanup.h" +#include "glcontainers.h" + +#include "db_xdbm.h" +#include "mydbm.h" + +static gl_map_t parent_keys; + +static int datum_compare (const void *a, const void *b) +{ + const datum *left = (const datum *) a; + const datum *right = (const datum *) b; + int cmp; + size_t minsize; + + /* Sentinel NULL elements sort to the end. */ + if (!MYDBM_DPTR (*left)) + return 1; + else if (!MYDBM_DPTR (*right)) + return -1; + + if (MYDBM_DSIZE (*left) < MYDBM_DSIZE (*right)) + minsize = MYDBM_DSIZE (*left); + else + minsize = MYDBM_DSIZE (*right); + cmp = strncmp (MYDBM_DPTR (*left), MYDBM_DPTR (*right), minsize); + if (cmp) + return cmp; + else if (MYDBM_DSIZE (*left) < MYDBM_DSIZE (*right)) + return 1; + else if (MYDBM_DSIZE (*left) > MYDBM_DSIZE (*right)) + return -1; + else + return 0; +} + +static bool datum_equals (const void *a, const void *b) +{ + return datum_compare (a, b) == 0; +} + +static size_t datum_hash (const void *value) +{ + const datum *d = value; + return hash_pjw_bare (MYDBM_DPTR (*d), MYDBM_DSIZE (*d)); +} + +static void datum_free (const void *value) +{ + MYDBM_FREE_DPTR (*(datum *) value); +} + +static datum empty_datum = { NULL, 0 }; + +/* We keep a map of filenames to sorted lists of keys. Each list is stored + * using a hash-based implementation that allows lookup by name and + * traversal to the next item in O(log n) time, which is necessary for a + * reasonable ordered implementation of nextkey. + */ +datum man_xdbm_firstkey (MYDBM_FILE dbf, + man_xdbm_unsorted_firstkey unsorted_firstkey, + man_xdbm_unsorted_nextkey unsorted_nextkey) +{ + gl_list_t keys; + datum *key; + + /* Build the raw sorted list of keys. */ + keys = gl_list_create_empty (GL_RBTREE_LIST, datum_equals, datum_hash, + datum_free, false); + key = XMALLOC (datum); + *key = unsorted_firstkey (dbf); + while (MYDBM_DPTR (*key)) { + datum *next; + + gl_sortedlist_add (keys, datum_compare, key); + next = XMALLOC (datum); + *next = unsorted_nextkey (dbf, *key); + key = next; + } + + if (!parent_keys) { + parent_keys = new_string_map (GL_HASH_MAP, + (gl_listelement_dispose_fn) + gl_list_free); + push_cleanup ((cleanup_fun) gl_map_free, parent_keys, 0); + } + + /* Remember this structure for use by nextkey. */ + gl_map_put (parent_keys, xstrdup (dbf->name), keys); + + if (gl_list_size (keys)) + return copy_datum (*(datum *) gl_list_get_at (keys, 0)); + else + return empty_datum; +} + +datum man_xdbm_nextkey (MYDBM_FILE dbf, datum key) +{ + gl_list_t keys; + gl_list_node_t node, next_node; + + if (!parent_keys) + return empty_datum; + keys = (gl_list_t) gl_map_get (parent_keys, dbf->name); + if (!keys) + return empty_datum; + + node = gl_sortedlist_search (keys, datum_compare, &key); + if (!node) + return empty_datum; + next_node = gl_list_next_node (keys, node); + if (!next_node) + return empty_datum; + + return copy_datum (*(datum *) gl_list_node_value (keys, next_node)); +} + +void man_xdbm_close (MYDBM_FILE dbf, man_xdbm_raw_close raw_close) +{ + if (!dbf) + return; + + if (parent_keys) + gl_map_remove (parent_keys, dbf->name); + + free (dbf->name); + raw_close (dbf); + free (dbf); +} + +#endif /* GDBM || NDBM */ diff --git a/libdb/db_xdbm.h b/libdb/db_xdbm.h new file mode 100644 index 00000000..9d7f4bf7 --- /dev/null +++ b/libdb/db_xdbm.h @@ -0,0 +1,40 @@ +/* + * db_xdbm.c: interface to common code for gdbm and ndbm backends + * + * Copyright (C) 2019 Colin Watson. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef MAN_XDBM_H +#define MAN_XDBM_H + +#if defined(GDBM) || defined(NDBM) + +#include "mydbm.h" + +typedef datum (*man_xdbm_unsorted_firstkey) (MYDBM_FILE dbf); +typedef datum (*man_xdbm_unsorted_nextkey) (MYDBM_FILE dbf, datum key); +typedef void (*man_xdbm_raw_close) (MYDBM_FILE dbf); + +datum man_xdbm_firstkey (MYDBM_FILE dbf, + man_xdbm_unsorted_firstkey firstkey, + man_xdbm_unsorted_nextkey nextkey); +datum man_xdbm_nextkey (MYDBM_FILE dbf, datum key); +void man_xdbm_close (MYDBM_FILE dbf, man_xdbm_raw_close raw_close); + +#endif /* GDBM || NDBM */ + +#endif /* MAN_XDBM_H */ diff --git a/libdb/mydbm.h b/libdb/mydbm.h index 32053e3e..31f1d756 100644 --- a/libdb/mydbm.h +++ b/libdb/mydbm.h @@ -98,30 +98,37 @@ void man_gdbm_close (man_gdbm_wrapper wrap); # define BERKELEY_DB # endif /* _DB_H_ */ -extern DBM *ndbm_flopen(char *file, int flags, int mode); -extern struct timespec ndbm_get_time(DBM *db); -extern void ndbm_set_time(DBM *db, const struct timespec time); -extern int ndbm_flclose(DBM *db); +typedef struct { + char *name; + DBM *file; +} *man_ndbm_wrapper; + +extern man_ndbm_wrapper man_ndbm_open (const char *name, int flags, int mode); +extern datum man_ndbm_firstkey (man_ndbm_wrapper wrap); +extern datum man_ndbm_nextkey (man_ndbm_wrapper wrap, datum key); +extern struct timespec man_ndbm_get_time (man_ndbm_wrapper wrap); +extern void man_ndbm_set_time (man_ndbm_wrapper wrap, const struct timespec time); +extern void man_ndbm_close (man_ndbm_wrapper wrap); # define DB_EXT "" -# define MYDBM_FILE DBM* +# define MYDBM_FILE man_ndbm_wrapper # define MYDBM_DPTR(d) ((d).dptr) # define MYDBM_SET_DPTR(d, value) ((d).dptr = (value)) # define MYDBM_DSIZE(d) ((d).dsize) -# define MYDBM_CTRWOPEN(file) ndbm_flopen(file, O_TRUNC|O_CREAT|O_RDWR, DBMODE) -# define MYDBM_CRWOPEN(file) ndbm_flopen(file, O_CREAT|O_RDWR, DBMODE) -# define MYDBM_RWOPEN(file) ndbm_flopen(file, O_RDWR, DBMODE) -# define MYDBM_RDOPEN(file) ndbm_flopen(file, O_RDONLY, DBMODE) -# define MYDBM_INSERT(db, key, cont) dbm_store(db, key, cont, DBM_INSERT) -# define MYDBM_REPLACE(db, key, cont) dbm_store(db, key, cont, DBM_REPLACE) -# define MYDBM_EXISTS(db, key) (dbm_fetch(db, key).dptr != NULL) -# define MYDBM_DELETE(db, key) dbm_delete(db, key) -# define MYDBM_FETCH(db, key) copy_datum(dbm_fetch(db, key)) -# define MYDBM_CLOSE(db) ndbm_flclose(db) -# define MYDBM_FIRSTKEY(db) copy_datum(dbm_firstkey(db)) -# define MYDBM_NEXTKEY(db, key) copy_datum(dbm_nextkey(db)) -# define MYDBM_GET_TIME(db) ndbm_get_time(db) -# define MYDBM_SET_TIME(db, time) ndbm_set_time(db, time) +# define MYDBM_CTRWOPEN(file) man_ndbm_open(file, O_TRUNC|O_CREAT|O_RDWR, DBMODE) +# define MYDBM_CRWOPEN(file) man_ndbm_open(file, O_CREAT|O_RDWR, DBMODE) +# define MYDBM_RWOPEN(file) man_ndbm_open(file, O_RDWR, DBMODE) +# define MYDBM_RDOPEN(file) man_ndbm_open(file, O_RDONLY, DBMODE) +# define MYDBM_INSERT(db, key, cont) dbm_store((db)->file, key, cont, DBM_INSERT) +# define MYDBM_REPLACE(db, key, cont) dbm_store((db)->file, key, cont, DBM_REPLACE) +# define MYDBM_EXISTS(db, key) (dbm_fetch((db)->file, key).dptr != NULL) +# define MYDBM_DELETE(db, key) dbm_delete((db)->file, key) +# define MYDBM_FETCH(db, key) copy_datum(dbm_fetch((db)->file, key)) +# define MYDBM_CLOSE(db) man_ndbm_close(db) +# define MYDBM_FIRSTKEY(db) man_ndbm_firstkey(db) +# define MYDBM_NEXTKEY(db, key) man_ndbm_nextkey(db, key) +# define MYDBM_GET_TIME(db) man_ndbm_get_time(db) +# define MYDBM_SET_TIME(db, time) man_ndbm_set_time(db, time) # define MYDBM_REORG(db) /* nothing - not implemented */ # elif defined(BTREE) && !defined(NDBM) && !defined(GDBM) @@ -131,39 +138,48 @@ extern int ndbm_flclose(DBM *db); # include <limits.h> # include BDB_H +typedef struct { + char *name; + DB *file; +} *man_btree_wrapper; + typedef DBT datum; -extern DB *btree_flopen(char *filename, int flags, int mode); -extern int btree_close(DB *db); -extern int btree_exists(DB *db, datum key); -extern datum btree_fetch(DB *db, datum key); -extern int btree_insert(DB *db, datum key, datum cont); -extern datum btree_firstkey(DB *db); -extern datum btree_nextkey(DB *db); -extern int btree_replace(DB *db, datum key, datum content); -extern int btree_nextkeydata(DB *db, datum *key, datum *cont); -extern struct timespec btree_get_time(DB *db); -extern void btree_set_time(DB *db, const struct timespec time); +extern man_btree_wrapper man_btree_open (const char *filename, int flags, + int mode); +extern void man_btree_close (man_btree_wrapper wrap); +extern int man_btree_exists (man_btree_wrapper wrap, datum key); +extern datum man_btree_fetch (man_btree_wrapper wrap, datum key); +extern int man_btree_insert (man_btree_wrapper wrap, datum key, datum cont); +extern datum man_btree_firstkey (man_btree_wrapper wrap); +extern datum man_btree_nextkey (man_btree_wrapper wrap); +extern int man_btree_replace (man_btree_wrapper wrap, + datum key, datum content); +extern int man_btree_nextkeydata (man_btree_wrapper wrap, + datum *key, datum *cont); +extern struct timespec man_btree_get_time (man_btree_wrapper wrap); +extern void man_btree_set_time (man_btree_wrapper wrap, + const struct timespec time); # define DB_EXT ".bt" -# define MYDBM_FILE DB* +# define MYDBM_FILE man_btree_wrapper # define MYDBM_DPTR(d) ((char *) (d).data) # define MYDBM_SET_DPTR(d, value) ((d).data = (char *) (value)) # define MYDBM_DSIZE(d) ((d).size) -# define MYDBM_CTRWOPEN(file) btree_flopen(file, O_TRUNC|O_CREAT|O_RDWR, DBMODE) -# define MYDBM_CRWOPEN(file) btree_flopen(file, O_CREAT|O_RDWR, DBMODE) -# define MYDBM_RWOPEN(file) btree_flopen(file, O_RDWR, DBMODE) -# define MYDBM_RDOPEN(file) btree_flopen(file, O_RDONLY, DBMODE) -# define MYDBM_INSERT(db, key, cont) btree_insert(db, key, cont) -# define MYDBM_REPLACE(db, key, cont) btree_replace(db, key, cont) -# define MYDBM_EXISTS(db, key) btree_exists(db, key) -# define MYDBM_DELETE(db, key) ((db->del)(db, &key, 0) ? -1 : 0) -# define MYDBM_FETCH(db, key) btree_fetch(db, key) -# define MYDBM_CLOSE(db) btree_close(db) -# define MYDBM_FIRSTKEY(db) btree_firstkey(db) -# define MYDBM_NEXTKEY(db, key) btree_nextkey(db) -# define MYDBM_GET_TIME(db) btree_get_time(db) -# define MYDBM_SET_TIME(db, time) btree_set_time(db, time) +# define MYDBM_CTRWOPEN(file) man_btree_open(file, O_TRUNC|O_CREAT|O_RDWR, DBMODE) +# define MYDBM_CRWOPEN(file) man_btree_open(file, O_CREAT|O_RDWR, DBMODE) +# define MYDBM_RWOPEN(file) man_btree_open(file, O_RDWR, DBMODE) +# define MYDBM_RDOPEN(file) man_btree_open(file, O_RDONLY, DBMODE) +# define MYDBM_INSERT(db, key, cont) man_btree_insert(db, key, cont) +# define MYDBM_REPLACE(db, key, cont) man_btree_replace(db, key, cont) +# define MYDBM_EXISTS(db, key) man_btree_exists(db, key) +# define MYDBM_DELETE(db, key) (((db)->file->del)((db)->file, &key, 0) ? -1 : 0) +# define MYDBM_FETCH(db, key) man_btree_fetch(db, key) +# define MYDBM_CLOSE(db) man_btree_close(db) +# define MYDBM_FIRSTKEY(db) man_btree_firstkey(db) +# define MYDBM_NEXTKEY(db, key) man_btree_nextkey(db) +# define MYDBM_GET_TIME(db) man_btree_get_time(db) +# define MYDBM_SET_TIME(db, time) man_btree_set_time(db, time) # define MYDBM_REORG(db) /* nothing - not implemented */ # else /* not GDBM or NDBM or BTREE */ @@ -174,8 +190,6 @@ extern void btree_set_time(DB *db, const struct timespec time); #define MYDBM_SET(d, value) do { MYDBM_SET_DPTR(d, value); MYDBM_RESET_DSIZE(d); } while (0) #define MYDBM_FREE_DPTR(d) do { free (MYDBM_DPTR (d)); MYDBM_SET_DPTR (d, NULL); } while (0) -extern char *database; - /* db_lookup.c */ extern datum copy_datum (datum dat); diff --git a/man/Makefile.in b/man/Makefile.in index f90abd0d..61fca7cf 100644 --- a/man/Makefile.in +++ b/man/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -623,6 +624,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -830,6 +832,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -904,6 +907,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -911,6 +915,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -992,6 +997,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -1014,6 +1020,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1064,6 +1071,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1083,6 +1091,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1183,8 +1192,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1207,7 +1214,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1353,6 +1359,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1401,6 +1408,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1414,6 +1422,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1434,6 +1443,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ @@ -47,6 +47,7 @@ Lauri Nurmi <lanurmi@iki.fi> fi.po Laurent Pelecq <laurent.pelecq@soleil.org> fr.po Nicolas Velin <nsv@fr.st> fr.po UCHIDA Norihiro <KY4N-UCD@asahi-net.or.jp> ja.po +Takeshi Hamasaki <hmatrjp@users.sourceforge.jp> ja.po Benno Schulenberg <benno@vertaalt.nl> nl.po Alexandre Folle de Menezes <afmenez@terra.com.br> pt_BR.po Eugen Hoanca <eugenh@urban-grafx.ro> ro.po diff --git a/man/da/Makefile.in b/man/da/Makefile.in index b83cb4a6..d5df6000 100644 --- a/man/da/Makefile.in +++ b/man/da/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/de/Makefile.in b/man/de/Makefile.in index c566a366..1dcd43cd 100644 --- a/man/de/Makefile.in +++ b/man/de/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/es/Makefile.in b/man/es/Makefile.in index 15e29c4f..2249eadf 100644 --- a/man/es/Makefile.in +++ b/man/es/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/fr/Makefile.in b/man/fr/Makefile.in index 2d8301c4..1a794a7f 100644 --- a/man/fr/Makefile.in +++ b/man/fr/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/id/Makefile.in b/man/id/Makefile.in index 51546db9..99be31fc 100644 --- a/man/id/Makefile.in +++ b/man/id/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/it/Makefile.in b/man/it/Makefile.in index b00c7b9c..7ecad288 100644 --- a/man/it/Makefile.in +++ b/man/it/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/ja/Makefile.in b/man/ja/Makefile.in index 74a05e0b..b61ee339 100644 --- a/man/ja/Makefile.in +++ b/man/ja/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/nl/Makefile.in b/man/nl/Makefile.in index 4bfca634..33f9edba 100644 --- a/man/nl/Makefile.in +++ b/man/nl/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/pl/Makefile.in b/man/pl/Makefile.in index 34425142..aa99daea 100644 --- a/man/pl/Makefile.in +++ b/man/pl/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/po4a/Makefile.in b/man/po4a/Makefile.in index 193bee6c..ed8cec78 100644 --- a/man/po4a/Makefile.in +++ b/man/po4a/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -352,6 +353,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -559,6 +561,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -633,6 +636,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -640,6 +644,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -721,6 +726,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -743,6 +749,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -793,6 +800,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -812,6 +820,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -912,8 +921,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -936,7 +943,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1082,6 +1088,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1130,6 +1137,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1143,6 +1151,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1163,6 +1172,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/pt/Makefile.in b/man/pt/Makefile.in index 2af73274..102625e3 100644 --- a/man/pt/Makefile.in +++ b/man/pt/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/pt_BR/Makefile.in b/man/pt_BR/Makefile.in index 44d8c65a..70e72ddb 100644 --- a/man/pt_BR/Makefile.in +++ b/man/pt_BR/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/ru/Makefile.in b/man/ru/Makefile.in index 63f4cbc2..b210478b 100644 --- a/man/ru/Makefile.in +++ b/man/ru/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/sr/Makefile.in b/man/sr/Makefile.in index 54c0c51f..0fb70054 100644 --- a/man/sr/Makefile.in +++ b/man/sr/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/sv/Makefile.in b/man/sv/Makefile.in index 734616b5..e132201b 100644 --- a/man/sv/Makefile.in +++ b/man/sv/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/tr/Makefile.in b/man/tr/Makefile.in index 45f64152..6d085b08 100644 --- a/man/tr/Makefile.in +++ b/man/tr/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/man/zh_CN/Makefile.in b/man/zh_CN/Makefile.in index eb66297c..c39a3cbf 100644 --- a/man/zh_CN/Makefile.in +++ b/man/zh_CN/Makefile.in @@ -182,6 +182,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -565,6 +566,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -772,6 +774,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -846,6 +849,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -853,6 +857,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -934,6 +939,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -956,6 +962,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1006,6 +1013,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1025,6 +1033,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1125,8 +1134,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1149,7 +1156,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1295,6 +1301,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1343,6 +1350,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1356,6 +1364,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1376,6 +1385,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/manual/Makefile.in b/manual/Makefile.in index 499f1881..d1790151 100644 --- a/manual/Makefile.in +++ b/manual/Makefile.in @@ -183,6 +183,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -355,6 +356,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -562,6 +564,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -636,6 +639,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -643,6 +647,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -724,6 +729,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -746,6 +752,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -796,6 +803,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -815,6 +823,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -915,8 +924,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -939,7 +946,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1085,6 +1091,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1133,6 +1140,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1146,6 +1154,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1166,6 +1175,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ @@ -1502,10 +1512,10 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -@BUILD_MANUAL_FALSE@clean-local: -@BUILD_MANUAL_FALSE@html-local: @BUILD_MANUAL_FALSE@dvi-local: @BUILD_MANUAL_FALSE@ps-local: +@BUILD_MANUAL_FALSE@clean-local: +@BUILD_MANUAL_FALSE@html-local: @BUILD_MANUAL_FALSE@install-data-hook: @BUILD_MANUAL_FALSE@uninstall-hook: clean: clean-am @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2018-07-11 17:43+0100\n" "Last-Translator: enolp <enolp@softastur.org>\n" "Language-Team: Asturian <ubuntu-l10n-ast@lists.ubuntu.com>\n" @@ -66,7 +66,7 @@ msgstr[1] "namái %d campos nel conteníu" msgid "bad fetch on multi key %s" msgstr "receición fallida na clave múltiple %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Toyóse la base de datos de %s. Volvi construyila con mandb --create" @@ -76,28 +76,28 @@ msgstr "Toyóse la base de datos de %s. Volvi construyila con mandb --create" msgid "warning: %s has no version identifier\n" msgstr "alvertencia: %s nun tien l'identificador de versión\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "alvertencia: %s ye de la versión %s, esperábase la %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatal: nun pue inxertase l'identificador de versión en %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[BASE DE DATOS DE MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "La base de datos de man por defeutu ye %s%s," -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "emite mensaxes de depuración" @@ -106,44 +106,44 @@ msgstr "emite mensaxes de depuración" msgid "can't open %s for reading" msgstr "nun pue abrise %s pa la llectura" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SEICIÓN...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "CAMÍN" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "afita'l camín de gueta de páxines de manual a CAMIN" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FICHERU" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "usa esti ficheru de configuración del usuariu" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "el comandu man falló col estáu de salida %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "nun pue lleese la base de datos %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "conteníu NULL pa la clave: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "Anovando los ficheros cat pa la seición %s de la xerarquía man %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "nun pue escribise en %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "nun pue anovase %s" @@ -167,67 +167,67 @@ msgstr "nun pue anovase %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "alvertencia: %s/man%s/%s.%s*: estensiones en conflictu" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "nun pue anovase la caché del índiz %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "alvertencia: %s: enllaz simbólicu o solicitú ROFF «.so» incorreutos" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "alvertencia: %s: inorando'l ficheru baleru" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "alvertecia: %s: falló l'analís de whatis pa %s(%s)" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "nun pue guetase'l direutoriu %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "nun pue facese chown a %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "alvertencia: nun pue crease'l direutoriu cat %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "nun pue facese chmod a %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "nun pue camudase al direutoriu %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "nun pue crease la caché del índiz %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Anovando la caché del índiz pal camín «%s/%s». Espera..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "fecho.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Purgando les entraes vieyes de la base de datos de %s...\n" @@ -242,49 +242,49 @@ msgstr "alvertencia: fallu al atroxar la entrada de %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "alvertencia: %s: inorando'l nome falsu de ficheru" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "CAMÍN SEICIÓN NOME" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "ESTENSIÓN" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "llenda la gueta a la triba de la estensión ESTENSIÓN" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "gueta páxines distinguiendo les mayúscules (por defeutu)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "gueta páxines ensin distinguir les mayúscules (por defeutu)" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "interpreta'l nome de la páxina como una espresión regular" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "el nome de la páxina contién comodinos" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "alvertencia: el whatis de %s perpase %d byte, truncando." msgstr[1] "alvertencia: el whatis de %s perpase %d bytes, truncando." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "nun pue abrise %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FICHERU..." @@ -382,7 +382,7 @@ msgstr "amuesa la salida de la páxina fonte cola codificación CODIFICACIÓN" msgid "Finding manual pages:" msgstr "Gueta de páxines de manual:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALE" @@ -390,15 +390,15 @@ msgstr "LOCALE" msgid "define the locale for this particular man search" msgstr "define la locale d'esta gueta específica de man" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SISTEMA" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "usa les páxines de manual d'otros sistemes" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LLISTA" @@ -513,79 +513,79 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "usa groff y forcia la producción de ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Nun hai entrada de manual pa %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Alternativamente, ¿qué páxina de manual quies de la seición %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "¿Qué páxina de manual quies?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Nun hai entrada de manual pa %s na seición %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" "Mira «%s» pa más ayuda cuando nun heba páxines de manual disponibles.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "inorando'l preprocesador desconocíu «%c»" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "nun pue renomase %s a %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "nun pue afitase la data en %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "nun pue desenllazase %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "nun pue crease'l cat temporal pa %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "nun pue crease'l direutoriu temporal" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "nun pue crease'l ficheru temporal %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "nun pue desaniciase'l direutoriu %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- siguiente: %s [ volver (retrocesu) | saltar (Ctrl-D) | colar (Ctrl-" "C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -594,27 +594,27 @@ msgstr "" "\n" "nun pue escribise en %s nel mou catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Nun pue convertise %s a un nome de cat" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: basase en referencies whatis ta anticuao\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "falló'l comandu mandb col estáu de salida %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "fallu internu: la triba de candidatu %d ta fuera de rangu" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr "Páxina de manual" @@ -647,7 +647,7 @@ msgstr "CÓDIGU" msgid "encoding for output" msgstr "codificación pa la salida" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "produz delles alvertencies" @@ -661,102 +661,102 @@ msgstr "has especificar una codificación d'entrada" msgid "must specify an output encoding" msgstr "has especificar una codificación de salida" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[CAMÍN_DE_MAN]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "trabaya de mou silenciosu quitante cuando heba alvertencies «falses»" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "nun gueta o amiesta cats güerfanos a les bases de datos" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "nun purga les entraes obsoletes de les bases de datos" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "produz namái bases de datos d'usuariu" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "crea bases de datos nueves en cuentes d'anovales" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "comprueba que les páxines de manual seyan correutes" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NOME_DE_FICHERU" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "namái anueva la entrada pa esti nome de ficheru" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "nun pue desaniciase %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "nun pue escribise en %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "nun pue lleese dende %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Procesando les páxines de manual so %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Desaniciando'l direutoriu cat obsoletu %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "alvertencia: nun hai denguna direutiva MANDB_MAP en %s, usando'l to manpath" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d sodireutoriu man contenía páxines de manual más nueves.\n" msgstr[1] "%d sodireutorios man conteníen páxines de manual más nueves.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "Amestóse %d páxina de manual.\n" msgstr[1] "Amestáronse %d páxines de manual.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "Amestóse %d cat güérfanu.\n" msgstr[1] "Amestáronse %d cats güérfanos.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "Purgóse %d entrada vieya de la base de datos.\n" msgstr[1] "Purgáronse %d entraes vieyes de la base de datos.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Nun hai bases de datos creaes." @@ -832,15 +832,15 @@ msgstr "nun pue determinase'l direutoriu actual" msgid "warning: %s does not begin with %s" msgstr "alvertencia: %s nun apenza per %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "amuesa caminos rellativos de cat" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "amuesa'l camín de man global enteru" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -872,96 +872,96 @@ msgstr "alvertencia: nun pue anovase la caché del índiz %s" msgid "%s is self referencing" msgstr "%s fai referencia a sigo mesmu" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "PALLABRA_CLAVE..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "La opción --regex ta activada por defeutu" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "amuesa mensaxes d'alvertencia detallaos" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interpreta cada pallabra clave como una espresión regular" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "gueta coincidencies exautes en cada pallabra clave" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "Les pallabres clave contienen comodinos" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "rique que toles pallabres clave concasen" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "nun axusta la salida al anchor de la terminal" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "gueta namái estes seiciones (separtaes per comes)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "define la locale d'esta gueta" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "¿%s qué?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "alvertencia: %s contién un bucle de punteros" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(asuntu desconocíu)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nun hai nada afayadizo.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: les solicitúes .so tán perañeraes o son recursives" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: alvertancia: fallu na solicitú .so" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: alvertencia: llinia nueva na solicitú .so, inorando" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: alvertencia: solicitú .lf malformada, inorando" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: alvertencia: llinia nueva na solicitú .lf, inorando" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: comilles ensin zarrar na solicitú roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "cambéu de compatibilidá (inórase)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.0-pre1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2015-08-04 08:34+0200\n" "Last-Translator: Jordi Mallach <jordi@gnu.org>\n" "Language-Team: Catalan <ca@dodds.net>\n" @@ -69,7 +69,7 @@ msgstr[1] "només hi ha %d camps en el contingut" msgid "bad fetch on multi key %s" msgstr "recepció errònia en clau múltiple %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "La base de dades %s està corrompuda; reconstruïu-la amb mandb --create" @@ -79,28 +79,28 @@ msgstr "La base de dades %s està corrompuda; reconstruïu-la amb mandb --create msgid "warning: %s has no version identifier\n" msgstr "avís: %s no té un identificador de versió\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "avís: %s té versió %s, s'espera %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatal: no s'ha pogut inserir un identificador de versió en %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[BASE DE DADES DE MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "La base de dades de man per defecte és %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "produeix informació de depuració" @@ -109,46 +109,46 @@ msgstr "produeix informació de depuració" msgid "can't open %s for reading" msgstr "no es pot obrir %s per a lectura" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SECCIÓ…]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "CAMÍ" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "estableix el camí de cerca de pàgines de manual a CAMÍ" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FITXER" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "empra aquest fitxer de configuració de l'usuari" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "l'ordre de man ha fallat amb l'estat d'eixida %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "no es pot llegir la base de dades %s" # Potser siga només «per», en tot cas crec que «de» és més adequat. ivb -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "contingut NUL de la clau: %s" # Alguna guia d'estil proposava «S'estan actualitzant...». ivb -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -158,12 +158,12 @@ msgstr "" "S'estan actualitzant els fitxers cat per a la secció %s de la jerarquia de " "man %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "no es pot escriure en %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "no es pot actualitzar %s" @@ -173,70 +173,70 @@ msgstr "no es pot actualitzar %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "avís: %s/man%s/%s.%s*: extensions en competència" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "no es pot actualitzar la memòria cau d'índex %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "avís: %s: enllaç simbòlic o petició ROFF «.so» incorrecte" # «es descarta...» ivb -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "avís: %s: es descarta un fitxer buit" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "avís: %s: l'anàlisi de whatis per a %s(%s) ha fallat" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "no es pot cercar el directori %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "no es pot fer «chown» a %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "avís: no es pot crear el directori de cat %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "no es pot fer «chmod» a %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "no es pot canviar al directori %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "no es pot crear la memòria cau d'índex %s" # S'està... Per/per a/de? ivb -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "S'està actualitzant la memòria cau d'índex del camí «%s/%s». Espereu…" -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "fet.\n" # S'estan... ivb -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "S'estan purgant entrades antigues de la base de dades en %s…\n" @@ -253,51 +253,51 @@ msgstr "avís: no s'ha pogut desar l'entrada per a %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "avís: %s: s'ha descartat un nom de fitxer estrany" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "CAMÍ SECCIÓ NOM" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EXTENSIÓ" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "limita la cerca al tipus d'extensió EXTENSIÓ" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "" "cerca les pàgines sense diferenciar majúscules i minúscules (per defecte)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "cerca les pàgines diferenciant majúscules i minúscules" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "interpreta el nom de la pàgina com si fora una expressió regular" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "el nom de la pàgina conté comodins" # Es trunca, es truncarà? ivb -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "avís: el whatis per a %s s'excedeix en %d octet, es truncarà." msgstr[1] "avís: el whatis per a %s s'excedeix en %d octets, es truncarà." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "no es pot obrir %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FITXER…" @@ -396,7 +396,7 @@ msgstr "mostra el font de la pàgina codificat amb CODIFICACIÓ" msgid "Finding manual pages:" msgstr "Cerca de pàgines de manual:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALE" @@ -404,15 +404,15 @@ msgstr "LOCALE" msgid "define the locale for this particular man search" msgstr "defineix el locale per a aquesta cerca de manuals concreta" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SISTEMA" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "empra pàgines de manual d'altres sistemes" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LLISTA" @@ -529,26 +529,26 @@ msgstr "utilitza groff i força la producció de ditroff" # per/per a/de? ivb # crec que és millor per a. jm -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "No hi ha una entrada de manual per a %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Alternativament, quina pàgina de manual voleu de la secció %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Quina pàgina de manual voleu?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "No hi ha una entrada de manual per a %s a la secció %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" @@ -556,12 +556,12 @@ msgstr "" "disponibles.\n" # «es descarta el...» ivb -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "es descarta el preprocessador desconegut «%c»" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "no es pot reanomenar %s a %s" @@ -569,43 +569,43 @@ msgstr "no es pot reanomenar %s a %s" # Segurament es referirà a l'{a,m,c}time; hores/dates? ivb # I en eixe cas, què sugereixes? jm # Allò que s'use majoritàriament pel cas, només era per assegurar-me. ivb -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "no es poden establir les hores en %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "no es pot desenllaçar %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "no es pot crear un fitxer cat temporal per a %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "no es pot crear un directori temporal" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "no es pot obrir el fitxer temporal %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "no es pot eliminar el directori %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- següent: %s [ visualitza (retorn) | omet (Ctrl-D) | surt (Ctrl-C ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -614,29 +614,29 @@ msgstr "" "\n" "no es pot escriure a %s en el mode catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "No es pot convertir %s a nom cat" # Lo de sempre, deprecated? jm -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: basar-se en referències whatis està desaconsellat\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "l'ordre de mandb ha fallat amb l'estat d'eixida %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "" "s'ha produït un error intern: el candidat de tipus %d està fora de rang" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Pàgina de manual " @@ -669,7 +669,7 @@ msgstr "CODI" msgid "encoding for output" msgstr "codificació per a l'eixida" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "produeix menys avisos" @@ -683,105 +683,105 @@ msgstr "s'ha d'especificar una codificació d'entrada" msgid "must specify an output encoding" msgstr "s'ha d'especificar una codificació d'eixida" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[CAMÍ DE MAN]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "treballa silenciosament, excepte per a avisos estranys" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "no cerques o afegisques cats orfes a les bd" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "no purgues entrades obsoletes de les bd" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "produeix només bases de dades d'usuari" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "crea db noves, en comptes d'actualitzar-les" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "comprova que les pàgines de manual són correctes" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NOMFITXER" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "actualitza només l'entrada per a aquest nom de fitxer" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "no es pot eliminar %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "no es pot escriure en %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "no es pot llegir de %s" # Si es refereix a un directori, «sota». ivb -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Processant pàgines de manual sota %s…\n" # S'estan... ivb -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "S'està suprimint el directori de cats obsolet %s…\n" # s'està utilitzant/s'utilitza/s'utilitzarà ivb -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "avís: no hi ha directives MANDB_MAP en %s, s'utilitzarà el vostre camí de man" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d subdirectori de man contenia pàgines de manual més noves.\n" msgstr[1] "%d subdirectoris de man contenien pàgines de manual més noves.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "S'ha afegit %d pàgina de manual.\n" msgstr[1] "S'han afegit %d pàgines de manual.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "S'ha afegit %d cat orfe.\n" msgstr[1] "S'han afegit %d cats orfes.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "S'ha purgat %d entrada vella de la base de dades.\n" msgstr[1] "S'han purgat %d entrades velles de la base de dades.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "No s'ha creat cap base de dades." @@ -861,15 +861,15 @@ msgstr "no es pot determinar el directori actual" msgid "warning: %s does not begin with %s" msgstr "avís: %s no comença amb %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "mostra els camins de cat relatius" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "mostra el camí de man global sencer" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -901,54 +901,54 @@ msgstr "no es pot actualitzar la memòria cau d'índex %s" msgid "%s is self referencing" msgstr "%s es referència a ell mateix" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "PARAULACLAU…" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "L'opció --regex està habilitada per defecte." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "mostra missatges d'avís detallats" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interpreta cada paraula clau com si fora una expressió regular" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "cerca coincidències exactes en cada paraula clau" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "les paraules clau contenen comodins" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "requereix que concorden totes les paraules clau" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "no ajustes l'eixida a l'amplada del terminal" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "cerca només en aquestes seccions (separades per punts i coma)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "defineix el locale per a aquesta cerca" # «comor?» ivb # «el que tu has dit entendre no he pogut» yoda -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s què?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "avís: %s conté un bucle de punters" @@ -957,49 +957,49 @@ msgstr "avís: %s conté un bucle de punters" # Gènere? Nombre? És bo posar-ne un comentari. ivb # Pareix que es refereix al resultat d'un whois. «whois desconegut?» jm # Arreglat en 2.4.0pre. jm -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(assumpte desconegut)" # «res d'apropiat»? ivb -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: res d'apropiat.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "" "%s:%d: les peticions de .so estan niuades amb massa profunditat o són " "recursives" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: avís: ha fallat la petició de .so" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: avís: nova línia a la petició de .so, es descarta" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: avís: la petició de .lf és malformada, es descarta" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: avís: nova línia a la petició .lf, es descarta" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: cometa no terminada a la petició roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "commutador de compatibilitat (descartat)" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.6.1-pre1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2012-04-07 19:04+0100\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n" "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n" @@ -66,7 +66,7 @@ msgstr[2] "pouze %d položek v obsahu" msgid "bad fetch on multi key %s" msgstr "nelze získat vícenásobný klíč %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Databáze %s je poškozena; znovu ji sestavte pomocí „mandb --create“" @@ -76,28 +76,28 @@ msgstr "Databáze %s je poškozena; znovu ji sestavte pomocí „mandb --create msgid "warning: %s has no version identifier\n" msgstr "varování: soubor %s nemá identifikátor verze\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "varování: soubor %s je verze %s, ale očekávána je verze %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatální chyba: nelze vložit identifikátor verze do souboru %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MANUÁLOVÁ DATABÁZE]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Výchozí manuálová databáze je %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "vysílat ladicí zprávy" @@ -106,44 +106,44 @@ msgstr "vysílat ladicí zprávy" msgid "can't open %s for reading" msgstr "soubor %s nelze otevřít pro čtení" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[ODDÍL…]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "CESTA" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "nastavit cestu pro vyhledávání v manuálových stránkách na CESTA" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "SOUBOR" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "použít tento soubor s uživatelským nastavením" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "příkaz man skončil s návratovým kódem %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "databázi %s nelze číst" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "položka pod klíčem %s je prázdná" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "Aktualizují se katalogové soubory pro oddíl %s v manuálové hierarchii %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "nelze zapisovat do %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "nelze aktualizovat %s" @@ -167,67 +167,67 @@ msgstr "nelze aktualizovat %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "varování: %s/man%s/%s.%s*: neslučitelné přípony" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "nelze aktualizovat rejstřík %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "varování: %s: chybný symbolický odkaz nebo požadavek „.so“ od ROFF" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "varování: %s: ignoruje se prázdný soubor" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "varování: %s: selhalo zpracování programem whatis pro %s(%s)" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "nelze prohledat složku %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "nelze změnit vlastnictví %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "varování: nelze vytvořit složku %s pro katalogy" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "nelze změnit oprávnění k %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "nelze se přepnout do složky %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "nelze vytvořit rejstřík %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Aktualizuje se rejstřík pro cestu „%s/%s“. Čekejte…" -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "dokončeno.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Mažou se staré databázové záznamy v %s…\n" @@ -242,35 +242,35 @@ msgstr "varování: selhalo uchování záznamu pro %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "varování: %s: ignoruje se falešný název souboru" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "CESTA ODDÍL NÁZEV" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "PŘÍPONA" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "omezit hledání na přípony typu PŘÍPONA" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "při hledání stránek nerozlišovat velikost písmen (výchozí)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "při hledání stránek rozlišovat velikost písmen" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "považovat název stránky za regulární výraz" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "název stránky obsahuje divoké znaky" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." @@ -278,14 +278,14 @@ msgstr[0] "varování: program whatis pro %s překročil %d bajt, bude zkrácen" msgstr[1] "varování: program whatis pro %s překročil %d bajty, bude zkrácen" msgstr[2] "varování: program whatis pro %s překročil %d bajtů, bude zkrácen" -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "nelze otevřít soubor %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "SOUBOR…" @@ -384,7 +384,7 @@ msgstr "vypsat zdrojovou stránku kódovanou v KÓDOVÁNÍ" msgid "Finding manual pages:" msgstr "Hledání manuálových stránek:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALE" @@ -394,15 +394,15 @@ msgstr "" "definovat národní prostředí LOCALE pro toto konkrétní hledání v manuálových " "stránkách" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTÉM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "použít manuálové stránky z jiných systémů" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "SEZNAM" @@ -516,78 +516,78 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "použít program groff a přimět ho vytvořit ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Manuálová stránka pro %s nebyla nalezena\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Respektive, kterou manuálovou stránku z oddílu %s si přejete?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Kterou manuálovou stránku si přejete?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Manuálová stránka pro %s nebyla v oddíle %s nalezena\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Pokud nejsou manuálové stránky dostupné, použijte pro nápovědu „%s“.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "ignoruje se neznámé předzpracování „%c“" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "%s nelze přejmenovat na %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "nelze nastavit čas na %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "nelze smazat %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "nelze vytvořit dočasný katalog pro %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "nelze vytvořit dočasnou složku" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "nelze otevřít dočasný soubor %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "nelze odstranit složku %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- následující: %s [zobrazit (enter) | přeskočit (Ctrl-D) | ukončit " "(Ctrl-C)]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -596,27 +596,27 @@ msgstr "" "\n" "do %s nelze v režimu catman zapisovat" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "%s nelze převést na název katalogu" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: spoléhat se na to, co program whatis považuje za neschválené\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "program mandb skončil s návratovým kódem %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "interní chyba: kandidující typ %d je mimo rozsah" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Manuálová stránka " @@ -649,7 +649,7 @@ msgstr "KÓD" msgid "encoding for output" msgstr "kódování pro výstup" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "produkovat méně varování" @@ -663,74 +663,74 @@ msgstr "je nutné zadat vstupní kódování" msgid "must specify an output encoding" msgstr "je nutné zadat výstupní kódování" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[CESTA_K_MANUÁLOVÝM_STRÁNKÁM]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "pracovat tiše, s výjimkou „falešných“ varování" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "nehledat a nepřidávat do databáze bezprizorní katalogy" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "nemazat z databáze zastaralé záznamy" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "vytvořit pouze uživatelskou databázi" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "vytvořit databázi raději od píky, než ji aktualizovat" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "zkontrolovat, zda jsou manuálové stránky v pořádku" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "SOUBOR" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "aktualizovat jen záznam pro tento soubor" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "nelze odstranit soubor %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "nelze zapisovat do souboru %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "nelze číst ze souboru %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Zpracovávají se manuálové stránky ve složce %s…\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Odstraňuje se zastaralá složka katalogů %s…\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "varování: v souboru %s není direktiva MANDB_MAP, použije se program manpath" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -738,7 +738,7 @@ msgstr[0] "%d manuálová podsložka obsahovala nové manuálové stránky.\n" msgstr[1] "%d manuálové podsložky obsahovaly nové manuálové stránky.\n" msgstr[2] "%d manuálových podsložek obsahovalo nové manuálové stránky.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" @@ -746,7 +746,7 @@ msgstr[0] "%d manuálová stránka byla přidána.\n" msgstr[1] "%d manuálové stránky byly přidány.\n" msgstr[2] "%d manuálových stránek bylo přidáno.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" @@ -754,7 +754,7 @@ msgstr[0] "Byl přidán %d bezprizorní katalog.\n" msgstr[1] "Byly přidány %d bezprizorní katalogy.\n" msgstr[2] "Bylo přidáno %d bezprizorních katalogů.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" @@ -762,7 +762,7 @@ msgstr[0] "Byl vymazán %d starý databázový záznam.\n" msgstr[1] "Byly vymazány %d staré databázové záznamy.\n" msgstr[2] "Bylo vymazáno %d starých databázových záznamů.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Nebyla vytvořena žádná databáze." @@ -837,15 +837,15 @@ msgstr "nelze zjistit aktuální složku" msgid "warning: %s does not begin with %s" msgstr "varování: cesta %s nezačíná na %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "zobrazovat relativní cesty ke katalogům" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "zobrazovat celé globální cesty k manuálovým stránkám" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -877,96 +877,96 @@ msgstr "varování: rejstřík %s nelze aktualizovat" msgid "%s is self referencing" msgstr "stránka %s se odkazuje sama na sebe" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "KLÍČOVÉ_SLOVO…" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Přepínač --regex je standardně zapnutý." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "vypisovat podrobné varovné zprávy" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "každé klíčové slovo považovat za regulární výraz" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "každé klíčové slovo hledat na přesnou shodu" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "klíčové slovo (či slova) obsahují divoké znaky" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "požadovat shodu všech klíčových slov" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "neořezávat výstup na šířku terminálu" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "prohledávat jen tyto oddíly (oddělené dvojtečkou)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "definovat národní prostředí pro toto hledání" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "Co má příkaz %s provést?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "varování: %s obsahuje zacyklený ukazatel" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(neznámý předmět)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nic neodpovídá.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: požadavky .so se zanořily příliš hluboko nebo jsou rekurzivní" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: varování: selhal požadavek .so" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: varování: nový řádek v požadavku .so, ignorován" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: varování: vadný požadavek .lf, ignorován" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: varování: nový řádek v požadavku .lf, ignorován" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: nezakončené uvozovky v požadavku roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "přepínač pro účely kompatibility (ignorován)" @@ -20,7 +20,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2016-12-12 23:42+0100\n" "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n" "Language-Team: Danish <dansk@dansk-gruppen.dk>\n" @@ -78,7 +78,7 @@ msgstr[1] "kun %d felter i indhold" msgid "bad fetch on multi key %s" msgstr "fejlagtig hentning på multinøgle %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Databasen %s er beskadiget; genopbyg med mandb --create" @@ -88,28 +88,28 @@ msgstr "Databasen %s er beskadiget; genopbyg med mandb --create" msgid "warning: %s has no version identifier\n" msgstr "advarsel: %s har ingen versionsidentifikator\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "advarsel: %s er version %s, %s forventes\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatalt: kan ikke indsætte versionsidentifikator i %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MANUALDATABASE]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Manualdatabasen er som standard %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "vis fejlsøgningsbeskeder" @@ -118,44 +118,44 @@ msgstr "vis fejlsøgningsbeskeder" msgid "can't open %s for reading" msgstr "kan ikke åbne %s for læsning" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[AFSNIT...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "STI" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "angiv søgesti for manualsider med STI" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FIL" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "brug denne brugers konfigurationsfil" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "man-kommandoen mislykkedes med slutstatus %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "kan ikke læse databasen %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "NULL-indhold for nøgle: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -164,12 +164,12 @@ msgstr "" "\n" "Opdaterer katalogfiler for afsnit %s i man-hierarkiet %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "kan ikke skrive indenfor %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "kan ikke opdatere %s" @@ -179,67 +179,67 @@ msgstr "kan ikke opdatere %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "advarsel: %s/man%s/%s.%s*: filendelser i konflikt" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "kan ikke opdatere indekscachen %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "advarsel: %s: fejlagtig symbolsk lænke eller ROFF ».so-anmodning«" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "advarsel: %s: ignorerer tom fil" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "advarsel: %s: whatis-tolkning for %s(%s) mislykkedes" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "kan ikke søge i kataloget %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "kan ikke skifte ejer på %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "advarsel: kan ikke oprette katalogmappe %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "kan ikke ændre rettigheder på %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "kan ikke skifte til kataloget %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "kan ikke oprette indekscachen %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Opdaterer indekscache for søgestien »%s/%s«. Vent..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "færdig.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Tømmer gamle databaseindgange i %s...\n" @@ -256,51 +256,51 @@ msgstr "advarsel: %s: ignorerer fejlagtigt filnavn" # Koden tyder på, det er betegnelsen på tre separate argumenter, derfor: # "STI AFSNIT NAVN" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "STI AFSNIT NAVN" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "FILENDELSE" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "begræns søgning til filendelser med typen FILENDELSE" # evt. "med versalfølsomhed slået fra" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "se efter sider uden at være versalfølsom (standard)" # "med versalfølsomhed slået til" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "se efter sider versalfølsomt" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "fortolk sidenavn som et regulært udtryk" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "sidenavnet indeholder jokertegn" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "advarsel: whatis for %s overskrider %d byte, forkorter." msgstr[1] "advarsel: whatis for %s overskrider %d byte, forkorter." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "kan ikke åbne %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FIL..." @@ -399,7 +399,7 @@ msgstr "uddatakildeside kodet i KODNING" msgid "Finding manual pages:" msgstr "Finder manualsider:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "SPROG" @@ -408,15 +408,15 @@ msgstr "SPROG" msgid "define the locale for this particular man search" msgstr "definere sproget for netop denne manualsøgning" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "brug manualsider fra andre systemer" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTE" @@ -534,77 +534,77 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "brug groff og tving den til at producere ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Ingen manualindgang for %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Eller hvilken manualside vil du have fra afsnit %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Hvilken manualside vil du have?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Ingen manualindgang for %s i afsnit %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Se »%s« for hjælp når manualsider ikke er tilgængelige.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "ignorerer ukendt forbehandler »%c«" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "kan ikke omdøbe %s til %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "kan ikke sætte tider på %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "kan ikke aflænke %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "kan ikke oprette midlertidigt katalog for %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "kan ikke oprette midlertidig mappe" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "kan ikke åbne midlertidig fil %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "kan ikke fjerne kataloget %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- næste: %s [ vis (retur) | overspring (Ctrl-D) | afslut (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -613,27 +613,27 @@ msgstr "" "\n" "kan ikke skrive til %s i tilstanden katalogmanual" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Kan ikke konvertere %s til katalognavn" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: at stole på whatis-referencer er forældet\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "mandb-kommandoen mislykkedes med slutstatus %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "intern fejl: kandidattype %d uden for gyldigt interval" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Manualside " @@ -666,7 +666,7 @@ msgstr "KODNING" msgid "encoding for output" msgstr "kodning for uddata" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "giv færre advarsler" @@ -680,101 +680,101 @@ msgstr "inddatakodning skal angives" msgid "must specify an output encoding" msgstr "uddatakodning skal angives" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANSTI]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "arbejd stille, undtagen for »bogus-advarsler«" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "kig ikke efter og tilføj ikke vildfarne katalogsider til databaserne" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "afinstaller ikke forældede punkter fra databaserne" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "producer kun brugerdatabaser" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "opret databaser fra bunden af i stedet for at opdatere" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "kontroller manualsider for korrekthed" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "FILNAVN" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "opdater kun punktet for dette filnavn" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "kan ikke fjerne %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "kan ikke skrive til %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "kan ikke læse fra %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Bearbejder manualsider under %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Fjerner forældet katalogside %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "advarsel: intet MANDB_MAP-direktiv i %s, bruger din manualsøgesti" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d manualunderkatalog indeholdt nyere manualsider.\n" msgstr[1] "%d manualunderkataloger indeholdt nyere manualsider.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d manualside blev tilføjet.\n" msgstr[1] "%d manualsider blev tilføjet.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d vildfaren katalogside blev tilføjet.\n" msgstr[1] "%d vildfarne katalogsider blev tilføjet.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d gammel databaseindgang blev tømt.\n" msgstr[1] "%d gamle databaseindgange blev tømt.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Ingen databaser er oprettet." @@ -849,15 +849,15 @@ msgstr "kan ikke bestemme aktuelt katalog" msgid "warning: %s does not begin with %s" msgstr "advarsel: %s begynder ikke med %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "vis relative katalogstier" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "vis den samlede globale manualsti" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -888,96 +888,96 @@ msgstr "advarsel: kan ikke opdatere indekscachen %s" msgid "%s is self referencing" msgstr "%s refererer til sig selv" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "NØGLEORD..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Tilvalget --regex er aktiveret som standard." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "vis uddybende advarselsbeskeder" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "fortolk hvert nøgleord som et regulært udtryk" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "søg i hvert nøgleord for nøjagtigt match" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "nøgleordene indeholder jokertegn" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "alle nøgleord skal matche" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "tilpas ikke uddata til terminalbredde" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "søg kun i disse afsnit (kolonadskilt)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "definer sproget for denne søgning" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s hvad?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "advarsel: %s indeholder en pegerløkke" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(ukendt emne)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: ingenting egnet.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: .so-forespørgsler er indlejret for dybt eller rekursivt" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: advarsel: .so-forespørgsel mislykkedes" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: advarsel: linjeskift i .so-forespørgsel; ignorerer" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: advarsel: forkert udformet .lf-forespørgsel; ignorerer" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: advarsel: linjeskift i .lf-forespørgsel; ignorerer" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: ikke afsluttet anførelsestegn i roff-forespørgsel" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "skift af kompatibilitet (ignoreret)" @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2016-12-12 16:39+0100\n" "Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n" "Language-Team: German <translation-team-de@lists.sourceforge.net>\n" @@ -72,7 +72,7 @@ msgstr[1] "nur %d Felder im Inhalt enthalten" msgid "bad fetch on multi key %s" msgstr "Suchschlüssel %s kann nicht eingelesen werden" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Datenbank %s beschädigt; mit »mandb --create« neu erstellen" @@ -82,28 +82,28 @@ msgstr "Datenbank %s beschädigt; mit »mandb --create« neu erstellen" msgid "warning: %s has no version identifier\n" msgstr "Warnung: %s hat keine Versionsnummer\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "Warnung: %s hat Versionsnummer %s, erwartet wurde %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "Fatal: Versionsnummer konnte nicht in %s eingefügt werden" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[HANDBUCHDATENBANK]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Die Handbuchdatenbank benutzt standardmäßig %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "Hinweise zur Fehlersuche werden ausgegeben" @@ -112,44 +112,44 @@ msgstr "Hinweise zur Fehlersuche werden ausgegeben" msgid "can't open %s for reading" msgstr "%s kann nicht zum Lesen geöffnet werden" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[ABSCHNITT ...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "PFAD" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "Suchpfad für Handbuchseiten auf PFAD setzen" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "DATEI" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "diese Benutzerkonfigurationsdatei verwenden" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "Man-Befehl schlug mit Exit-Status %d fehl" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "Datenbank %s kann nicht gelesen werden" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "Inhalt für Suchschlüssel ist NULL: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -159,12 +159,12 @@ msgstr "" "»cat«-Dateien des Abschnitts %s der Handbuchhierarchie %s werden " "aktualisiert.\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "innerhalb von %s kann nicht geschrieben werden" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "%s kann nicht aktualisiert werden" @@ -174,68 +174,68 @@ msgstr "%s kann nicht aktualisiert werden" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "Warnung: %s/man%s/%s.%s*: konkurrierende Dateierweiterungen" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "Indexcache %s kann nicht aktualisiert werden" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "" "Warnung: %s: ungültige symbolische Verknüpfung oder »roff«-».so«-Anfrage" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "Warnung: %s: leere Datei wird ignoriert" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "Warnung: %s: whatis-Verarbeitung für %s(%s) fehlgeschlagen" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "Verzeichnis %s kann nicht durchsucht werden" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "Besitzer und/oder Gruppe von %s können nicht geändert werden" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "Warnung: »cat«-Verzeichnis %s kann nicht angelegt werden" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "Zugriffsrechte von %s können nicht geändert werden" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "Es konnte nicht ins Verzeichnis %s gewechselt werden" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "Indexcache %s kann nicht erzeugt werden" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Indexcache des Pfades »%s/%s« wird aktualisiert. Bitte warten ..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "fertig.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Alte Datenbankeinträge in %s werden gelöscht ...\n" @@ -250,36 +250,36 @@ msgstr "Warnung: Eintrag für (%s)%s konnte nicht abgelegt werden" msgid "warning: %s: ignoring bogus filename" msgstr "Warnung: %s: fehlerhafter Dateiname wird ignoriert" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "PFAD ABSCHNITT NAME" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "ERWEITERUNG" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "Suche auf Erweiterungstyp ERWEITERUNG beschränken" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "" "Nach Seiten suchen ohne Groß- und Kleinschreibung zu beachten (Standard)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "Nach Seiten unter Beachtung von Groß- und Kleinschreibung suchen" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "jeden Seitennamen als RegEx interpretieren" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "der Seitenname enthält Platzhalter" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." @@ -288,14 +288,14 @@ msgstr[0] "" msgstr[1] "" "Warnung: whatis-Eintrag für %s ist größer als %d Bytes, verkürze ihn." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "%s kann nicht geöffnet werden" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "DATEI ..." @@ -394,7 +394,7 @@ msgstr "Quellseiten mit KODIERUNG kodiert ausgeben" msgid "Finding manual pages:" msgstr "Handbuchseiten finden: " -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALE" @@ -402,15 +402,15 @@ msgstr "LOCALE" msgid "define the locale for this particular man search" msgstr "Locale für diese spezielle Handbuchsuche definieren" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "Handbuchseiten von anderen Systemen verwenden" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTE" @@ -529,80 +529,80 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "»groff« verwenden und ditroff-Ausgabe erzwingen" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Kein Handbucheintrag für %s vorhanden\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "" "(Welche Handbuchseiten wollen Sie aus Abschnitt %s alternativ haben?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Welche Handbuchseiten möchten Sie haben?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Kein Handbucheintrag für %s im Abschnitt %s vorhanden\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Siehe auch »%s« für Hilfe, wenn Handbuchseiten nicht verfügbar sind.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "Ignoriere unbekannten Präprozessor »%c«" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "%s kann nicht in %s umbenannt werden" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "Es können keine Zeiten für %s gesetzt werden" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "%s kann nicht gelöscht werden" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "Es kann keine temporäre »cat«-Datei für %s erzeugt werden" # (mes) NEU -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "Temporäres Verzeichnis kann nicht erzeugt werden." -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "Temporäre Datei %s kann nicht geöffnet werden" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "Verzeichnis %s kann nicht entfernt werden" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- nächste: %s [ Anzeigen (Return) | Überspringen (Strg+D) | Beenden " "(Strg+C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -611,27 +611,27 @@ msgstr "" "\n" "im »catman«-Modus kann nicht nach %s geschrieben werden" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "%s kann nicht in »cat«-Namen umgewandelt werden" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: es wird davon abgeraten, auf »whatis«-Referenzen zu vertrauen\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "»mandb«-Befehl schlug fehl mit Beendigungs-Status %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "interner Fehler: Kandidatentyp %d außerhalb des Bereichs" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Handbuchseite " @@ -664,7 +664,7 @@ msgstr "KODIERUNG" msgid "encoding for output" msgstr "Kodierung der Ausgabe" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "weniger Warnungen erzeugen" @@ -678,103 +678,103 @@ msgstr "es muss eine Eingabekodierung angegeben werden" msgid "must specify an output encoding" msgstr "es muss eine Ausgabekodierung angegeben werden" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[HANDBUCHPFAD]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "still arbeiten, mit Ausnahme von »fehlerhaften« Warnungen" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "" "nicht nach herrenlosen »cat«-Datein suchen oder zu den Datenbanken hinzufügen" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "keine veralteten Einträge aus den Datenbanken löschen" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "nur Benutzerdatenbanken erzeugen" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "Datenbanken von Grund auf neu generieren, statt sie zu aktualisieren" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "Handbuchseiten auf Korrektheit überprüfen" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "DATEINAME" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "nur den Eintrag für diesen Dateinamen aktualisieren" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "%s kann nicht entfernt werden" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "es kann nicht nach %s geschrieben werden" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "%s kann nicht ausgelesen werden" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Handbuchseiten unter %s werden verarbeitet ...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "veraltetes »cat«-Verzeichnis %s wird entfernt ...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "Warnung: keine MANDB_MAP-Anweisungen in %s, ihr Handbuchpfad wird verwendet" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d Handbuchverzeichnis enthielt neuere Handbuchseiten.\n" msgstr[1] "%d Handbuchverzeichnisse enthielten neuere Handbuchseiten.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d Handbuchseite wurde hinzugefügt.\n" msgstr[1] "%d Handbuchseiten wurden hinzugefügt.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d herrenlose »cat«-Datei wurde hinzugefügt.\n" msgstr[1] "%d herrenlose »cat«-Dateien wurden hinzugefügt.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d alter Datenbankeintrag wurde entfernt.\n" msgstr[1] "%d alte Datenbankeinträge wurden entfernt.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Keine Datenbanken erstellt." @@ -849,15 +849,15 @@ msgstr "momentanes Verzeichnis kann nicht festgestellt werden" msgid "warning: %s does not begin with %s" msgstr "Warnung: %s fängt nicht mit %s an" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "relative »cat«-Pfade anzeigen" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "den gesamten globalen Handbuchpfad (MANPATH) anzeigen" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -889,96 +889,96 @@ msgstr "Warnung: Indexcache %s kann nicht aktualisiert werden" msgid "%s is self referencing" msgstr "%s bezieht sich auf sich selbst" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "SCHLÜSSELWORT ..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Die »--regex«-Option ist standardmäßig aktiviert." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "ausführliche Warnmeldungen anzeigen" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "jedes Schlüsselwort als RegEx interpretieren" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "mit jedem Schlüsselwort nach exakten Treffern suchen" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "das bzw. die Schlüsselwort(e) enthalten Platzhalter" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "alle Schlüsselwörter müssen übereinstimmen" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "Ausgabe nicht an Terminalbreite anpassen" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "nur diese Abschnitte durchsuchen (durch Doppelpunkte getrennt)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "Locale für diese Suche definieren" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s was bitte?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "Warnung: %s enthält zyklische Verweise" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(unbekanntes Thema)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nichts passendes.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: ».so«-Anfragen sind zu tief verschachtelt oder rekursiv" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: Warnung: ».so«-Anfrage fehlgeschlagen" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: Warnung: Zeilenumbruch in ».so«-Anfrage; ignoriert" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: Warnung: falsch formatierte ».lf«-Anfrage; ignoriert" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: Warnung: Zeilenumbruch in ».lf«-Anfrage; ignoriert" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: nicht geschlossene Anführungszeichen in »roff«-Anfrage" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "Kompatibilitätsparameter (ignoriert)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2018-06-05 23:10-0300\n" "Last-Translator: Felipe Castro <fefcas@gmail.com>\n" "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n" @@ -66,7 +66,7 @@ msgstr[1] "nur %d kampoj en enhavo" msgid "bad fetch on multi key %s" msgstr "malĝusta havigo per plur-ŝlosilo %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "La datumbazon %s fuŝas; rekonstruu per mandb --create" @@ -76,28 +76,28 @@ msgstr "La datumbazon %s fuŝas; rekonstruu per mandb --create" msgid "warning: %s has no version identifier\n" msgstr "averto: %s havas neniun versi-identiganton\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "averto: %s estas versio %s, ni atendas %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "neripareble: ne eblas enmeti versi-identiganton en %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MAN-DATUMBAZO]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "La man-datumbazo apriore estas %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "sendi rafinigajn mesaĝojn" @@ -106,44 +106,44 @@ msgstr "sendi rafinigajn mesaĝojn" msgid "can't open %s for reading" msgstr "ne eblas malfermi %s por legi" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SEKCIO...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "VOJO" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "difini serĉvojo por manlibraj paĝoj al VOJO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "DOSIERO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "uzi tiun ĉi uzant-agorda dosiero" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "komando man fiaskis kun elir-stato %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "ne eblas legi la datumbazon %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "Enhavo NULL por ŝlosilo: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "Ĝisdatigo de cat-dosieroj por sekcio %s de man-hierarkio %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "ne eblas skribi ene de %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "Ne eblas ĝisdatigi %s" @@ -167,67 +167,67 @@ msgstr "Ne eblas ĝisdatigi %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "averto: %s/man%s/%s.%s*: konkurantaj sufiksoj" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "ne eblas ĝisdatigi la indeksan kaŝmemoron %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "averto: %s: malĝusta symlink aŭ peto de ROFF '.so'" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "averto: %s: ni preteratentas malplenan dosieron" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "averto: %s: analizo de whatis por %s(%s) fiaskis" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "ne eblas serĉi la dosierujon %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "ne eblas apliki chown %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "averto: ne eblas krei la catdir %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "ne eblas apliki chmod %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "ne eblas ŝanĝi al la dosierujo %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "ne eblas krei la indeksan kaŝmemoron %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Ĝisdatigo de indeksa kaŝmemoro por la vojo '%s/%s'. Atendu..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "farite.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Viŝo de malnovaj datumbazaj enigoj en %s...\n" @@ -242,49 +242,49 @@ msgstr "averto: fiasko dum konservo de elemento por %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "averto: %s: ni preteratentas aĉan dosiernomon" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "VOJO SEKCIO NOMO" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "SUFIKSO" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "limigi serĉon al la sufiksa tipo SUFIKSO" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "serĉi paĝojn sen-usklece (aprioras)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "serĉi paĝojn usklece" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "interpreti paĝ-nomon kiel regulesprimon" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "la paĝ-nomo enhavas ĵokerojn" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "averto: whatis por %s troigas %d bajton, ni tranĉas." msgstr[1] "averto: whatis por %s troigas %d bajtojn, ni tranĉas." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "ne eblas malfermi %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "DOSIERO..." @@ -382,7 +382,7 @@ msgstr "eligi font-paĝon enkoditan laŭ ENKODIGO" msgid "Finding manual pages:" msgstr "Trovo de manlibraj paĝoj:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOKAĴARO" @@ -390,15 +390,15 @@ msgstr "LOKAĴARO" msgid "define the locale for this particular man search" msgstr "difini la lokaĵaron por tiu ĉi specifa serĉo de man" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SISTEMO" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "uzi manlibrajn paĝojn el aliaj sistemoj" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTO" @@ -512,77 +512,77 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "uzi groff kaj devigi ĝin produkti ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Neniu manlibra elemento por %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Alternative, kiun manlibran paĝon vi volas el sekcio %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Kiun manlibran paĝon vi volas?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Neniu manlibra elemento por %s en sekcio %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Konsultu '%s' por helpo kiam manlibraj paĝoj ne disponeblas.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "ni preteratentas nekonatan antaŭprocezilon '%c'" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "ne eblas renomigi %s al %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "ne eblas difini horon en %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "ne eblas forigi %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "ne eblas krei provizoran cat por %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "ne eblas krei provizoran dosierujon" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "ne eblas malfermi la provizoran dosieron %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "ne eblas forigi la dosierujon %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- sekva: %s [ vidi (enigklavo) | salti (Ctrl-D) | eliri (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -591,27 +591,27 @@ msgstr "" "\n" "ne eblas skribi al %s sub reĝimo catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Ne eblas konverti %s al cat-nomo" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: fini je whatis refs estas malrekomendinde\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "komando mandb fiaskis kun elir-stato %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "interna eraro: kanditata tipo %d estas for de intervalo" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Manlibra paĝo " @@ -644,7 +644,7 @@ msgstr "KODO" msgid "encoding for output" msgstr "enkodigo por eligo" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "produkti malpli da avertoj" @@ -658,101 +658,101 @@ msgstr "devas indiki enigan enkodigon" msgid "must specify an output encoding" msgstr "devas indiki eligan enkodigon" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MAN-VOJO]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "labori kviete, krom por averto pri 'aĉeco'" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "ne serĉi aŭ aldoni perditajn dosierojn cat al la dbs" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "ne forpurigi malaktualajn elementojn el la dbs" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "produkti nur datumbazojn de uzantoj" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "krei datumbazon elkomence, prefere ol ĝisdatigante" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "kontroli korektecon de manlibraj paĝoj" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "DOSIERNOMO" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "ĝisdatigi nur la elementon por tiu ĉi dosiernomo" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "ne eblas forigi %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "ne eblas skribi al %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "ne eblas legi el %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Procezado de manlibraj paĝoj sub %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Forigado de malaktuala cat-dosierujo %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "averto: neniu instrukcio MANDB_MAP en %s, ni uzas vian man-vojon" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d man-subdosierujo enhavis pli novajn manlibrajn paĝojn.\n" msgstr[1] "%d man-subdosierujoj enhavis pli novajn manlibrajn paĝojn.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d manlibra paĝo estis aldonata.\n" msgstr[1] "%d manlibraj paĝoj estis aldonataj.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d perdita cat estis aldonata.\n" msgstr[1] "%d perditaj cat estis aldonataj.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d malnova datumbaza elemento estis forpurigata.\n" msgstr[1] "%d malnovaj datumbazaj elementoj estis forpurigataj.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Neniu datumbazo estis kreata." @@ -827,15 +827,15 @@ msgstr "ne eblas determini la nunan dosierujon" msgid "warning: %s does not begin with %s" msgstr "averto: %s ne komenciĝas per %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "montri relativajn cat-vojojn" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "montri la tutan mallokan man-vojon" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "averto: neniu malloka man-vojo estas difinita en la agorda dosiero %s" @@ -865,96 +865,96 @@ msgstr "averto: ne eblas ĝisdatigi la indeksan kaŝmemoron %s" msgid "%s is self referencing" msgstr "%s estas mem-referenca" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "ŜLOSILVORTO..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "La modifilo --regex estas ebligita apriore." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "montri detaligajn avertajn mesaĝojn" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interpreti ĉiun ŝlosilvorton kiel regulesprimon" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "serĉi ĉiun ŝlosilvorton por entuta kongruo" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "la ŝlosilvorto(j) enhavas ĵokerojn" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "postuli ke ĉiuj ŝlosilvortoj kongruu" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "ne adapti eligon al la terminala larĝo" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "serĉi nur tiujn ĉi sekciojn (dupunkt-apartite)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "difini la lokaĵaron por tiu ĉi serĉo" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s kio?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "averto: %s enhavas adresmontrilan ciklon" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(nekonata temo)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nenio taŭga.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: petoj .so estas nestitaj tro profunde aŭ estas rekursigaj" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: averto: peto .so fiaskis" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: averto: novlinio en peto .so, ni preteratentas" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: averto: misformita peto .lf, ni preteratentas" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: averto: novlinio en peto .lf, ni preteratentas" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: nefinigita citilo en peto roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "kongrueca aktivigilo (preteratentita)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2018-02-27 15:52+0100\n" "Last-Translator: Francisco Javier Serrador <fserrador@gmail.com>\n" "Language-Team: Spanish <es@tp.org.es>\n" @@ -66,7 +66,7 @@ msgstr[1] "únicamente en %d campos en el contenido" msgid "bad fetch on multi key %s" msgstr "no se ha obtener en clave múltiple %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Base de datos %s corrompida; reconstrúyala con mandb --create" @@ -76,28 +76,28 @@ msgstr "Base de datos %s corrompida; reconstrúyala con mandb --create" msgid "warning: %s has no version identifier\n" msgstr "aviso: %s no tiene identificador de versión.\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "aviso: %s tiene la versión %s, aunque se esperaba %s.\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatal: no se puede insertar identificador de versión dentro de %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MAN BASEDATOS]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "La base de datos predeterminadoa a %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "emite mensajes de depuración" @@ -106,44 +106,44 @@ msgstr "emite mensajes de depuración" msgid "can't open %s for reading" msgstr "no se puede abrir %s para leer" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SECCIÓN...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "RUTA" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "establece ruta de búsqueda para páginas del manual a ruta PATH" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FICHERO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "emplee este fichero de configuración de usuario" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "orden man fallada con estado de salida %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "no se puede leer la base de datos %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "Contenido NULO para clave: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "Actualizando los ficheros cat para la sección %s de la jerarquía de man %s.\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "no se puede escribir en %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "incapaz de actualizar %s" @@ -167,67 +167,67 @@ msgstr "incapaz de actualizar %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "aviso: %s/man%s/%s.%s*: extensiones en conflicto" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "no se puede actualizar el caché de índices %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "aviso: %s: enlace simbólico o solicitud `.so' de ROFF defectuoso" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "aviso: %s: ignorando fichero vacío" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "aviso: %s: ha fallado la exploración de whatis para %s(%s)" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "no se puede buscar en el directorio %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "no se puede cambiar propietario con chown %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "aviso: no se pudo crear directorio para «cat» %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "no se puede ejecutar el chmod %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "no se puede cambiar al directorio %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "no se puede crear el caché de índices %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Actualizando el caché de índices para la ruta `%s/%s'. Aguarde..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "terminado.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Purgando entradas antiguas en la base de datos en %s...\n" @@ -242,49 +242,49 @@ msgstr "aviso: ha fallado al almacenar entrada para %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "aviso: %s: ignorando nombre espurio de fichero" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "NOMBRE SECCIONAL ENRUTADO" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EXTENSIÓN" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "búsqueda limitada para tipo de extensión EXTENSION" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "busca páginas no distinguible de mayúsculas (predeterminado)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "busca páginas distinguiendo mayúsculas" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "interpreta nombre de página como un expreg" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "el nombre de la página contiene comodines" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "aviso: whatis para %s excede de %d byte, truncando." msgstr[1] "aviso: whatis para %s excede de %d bytes, truncando." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "no se puede abrir %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FICHERO..." @@ -382,7 +382,7 @@ msgstr "página origen codificada por salida en codificación ENCODING" msgid "Finding manual pages:" msgstr "Encontrando páginas del manual:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALE" @@ -390,15 +390,15 @@ msgstr "LOCALE" msgid "define the locale for this particular man search" msgstr "define la localización para esta búsqueda de man particular" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "emplea páginas del manual desde otros sistemas" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTADO" @@ -513,78 +513,78 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "utiliza groff y lo fuerza para producir ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Ninguna entrada del manual para %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "" "(Alternativamente, ¿cual página de manual quiere desde la sección %s?\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "¿Qué página del manual desea?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Ningún registro del manual para %s en sección %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Vea «%s» para ayudar cuando las páginas man no estén disponibles.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "se ignora el preprocesador desconocido «%c»" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "no se puede renombrar %s a %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "no se puede establecer hora en %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "no se puede desenlazar %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "no puede crear flujo cat temporal para %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "no puede crear un directorio temporal" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "no puede abrir temporalmente el fichero %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "no se puede quitar el directorio %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- próxima: %s [ ver (return) | siguiente (Ctrl-D) | salir (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -593,27 +593,27 @@ msgstr "" "\n" "no se puede escribir en %s en modo catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "No se puede convertir %s a un nombre de tipo cat" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: depender de las referencias de whatis está en desuso.\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "orden mandb fallada con estado de salida %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "error interno: tipo candidato %d fuera del rango" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Página de manual " @@ -646,7 +646,7 @@ msgstr "CÓDIGO" msgid "encoding for output" msgstr "codificando para salida" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "produce menos advertencias" @@ -660,75 +660,75 @@ msgstr "debe especificar una codificación de entrada" msgid "must specify an output encoding" msgstr "debe específicamente una codificación de salida" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[RUTAMAN]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "funciona silenciosamente, excepto para avisos 'espúreos'" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "no buscar o añadir bandeja de car para la bbdd" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "no purgar entradas obsoletas desde las bbdd" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "produce solo bases de datos del usuario" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "crea bbdd desde restos mejor que actualizando" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "comprueba páginas de manual para corrección" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NOMBREFICHERO" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "actualiza tan solo la entrada para este nombre de fichero" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "no se puede quitar %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "no puede escribir a %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "no puede leer desde %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Procesando las páginas de manual bajo %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Quitando el directorio cat obsoleto %s...\n" # manpath es algo específico, debe estar presente. nl -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "aviso: no hay directivas MANDB_MAP en %s, se utilizará su ruta man (manpath)" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -737,14 +737,14 @@ msgstr[0] "" "\n" msgstr[1] "%d subdirectorios man contenían páginas de manual más recientes.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d página del manual fue añadida.\n" msgstr[1] "%d páginas del manual fueron añadidas.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" @@ -753,14 +753,14 @@ msgstr[1] "" "%d bandejas cat fueron añadidas.\n" "\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "Se han eliminado %d entrada antigua en la base de datos.\n" msgstr[1] "Se han eliminado %d entradas antiguas en la base de datos.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Ninguna base de datos creada." @@ -835,15 +835,15 @@ msgstr "no se puede determinar el directorio actual" msgid "warning: %s does not begin with %s" msgstr "aviso: %s no comienza con %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "muestra rutas catpath relativas" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "muestra la ruta manpath global completa" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -875,96 +875,96 @@ msgstr "aviso: no se pudo actualizar el caché de índices %s" msgid "%s is self referencing" msgstr "%s está referenciado a sí mismo" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "PALABRACLAVE..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "La opción --regex está activada por defecto." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "escribe mensajes de advertencia detallados" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interpreta cada palabra clave como una expreg" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "busca cada palabra clave por coincidente exacto" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "la(s) palabra(s) clave(s) contienen comodines" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "requiere todas las palabras claves a coincidir" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "no cortar salida para ancho del terminal" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "busca solo estas secciones (separados por dos puntos)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "define la localización para esta búsqueda" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s ¿qué?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "aviso: %s contiene un bucle de puntero" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(asunto desconocido)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nada apropiado.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: .so solicita anidado demasiado profunda o son recursivas" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: aviso: petición .so fallada" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: advertencia: línea nueva dentro de petición .so, ignorando" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: aviso: petición .lf mal formada, ignorandando" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: aviso: nuevo línea en petición -lf, ignorando" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: comilla indeterminada en petición roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "interruptor de compatibilidad (ignorado)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.0-pre1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2015-07-28 21:52+0300\n" "Last-Translator: Lauri Nurmi <lanurmi@iki.fi>\n" "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n" @@ -65,7 +65,7 @@ msgstr[1] "" msgid "bad fetch on multi key %s" msgstr "" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "" @@ -76,28 +76,28 @@ msgstr "" msgid "warning: %s has no version identifier\n" msgstr "" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "" -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "" @@ -106,57 +106,57 @@ msgstr "" msgid "can't open %s for reading" msgstr "" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[OSIO...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "POLKU" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "aseta opastesivujen hakupoluksi POLKU" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "TIEDOSTO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 #, fuzzy msgid "use this user configuration file" msgstr "opastepolkujen asetustiedostoa %s ei voi avata" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "tietokantaa %s ei voi lukea" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" "Updating cat files for section %s of man hierarchy %s\n" msgstr "" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "" @@ -166,67 +166,67 @@ msgstr "" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "varoitus: %s: ei huomioida tyhjää tiedostoa" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "" -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "valmis.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "" @@ -241,49 +241,49 @@ msgstr "" msgid "warning: %s: ignoring bogus filename" msgstr "" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "sivun nimi sisältää jokerimerkkejä" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "" msgstr[1] "" -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "TIEDOSTO..." @@ -382,7 +382,7 @@ msgstr "" msgid "Finding manual pages:" msgstr " Opastesivu " -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "" @@ -390,15 +390,15 @@ msgstr "" msgid "define the locale for this particular man search" msgstr "" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "JÄRJESTELMÄ" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "" @@ -506,103 +506,103 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, fuzzy, c-format msgid "No manual entry for %s\n" msgstr "Sovellukselle %s ei ole opastesivua" -#: src/man.c:599 +#: src/man.c:601 #, fuzzy, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "Minkä opastesivun haluat osiosta %s?\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Minkä opastesivun haluat?\n" -#: src/man.c:730 +#: src/man.c:732 #, fuzzy, c-format msgid "No manual entry for %s in section %s\n" msgstr "Sovellukselle %s ei ole opastesivua" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "ei huomioida tuntematonta esikäsittelintä \"%c\"" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "" -#: src/man.c:1803 +#: src/man.c:1805 #, fuzzy, c-format msgid "can't create temporary cat for %s" msgstr "varoitus: väliaikaistiedostoa %s ei voi luoda" -#: src/man.c:1913 +#: src/man.c:1915 #, fuzzy, c-format msgid "can't create temporary directory" msgstr "nykyistä hakemistoa ei voi määrittää" -#: src/man.c:1924 +#: src/man.c:1926 #, fuzzy, c-format msgid "can't open temporary file %s" msgstr "opastepolkujen asetustiedostoa %s ei voi avata" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" "cannot write to %s in catman mode" msgstr "" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "mandb-komento epäonnistui paluuarvolla %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Opastesivu " @@ -635,7 +635,7 @@ msgstr "" msgid "encoding for output" msgstr "tulosteen merkistö" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "tuota vähemmän varoituksia" @@ -649,101 +649,101 @@ msgstr "syötteen merkistö on annettava" msgid "must specify an output encoding" msgstr "tulosteen merkistö on annettava" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "TIEDOSTONIMI" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "tiedostoa %s ei voi poistaa" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "tiedostoon %s ei voi kirjoittaa" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "tiedostosta %s ei voi lukea" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Käsitellään opastesivuja hakemistossa %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Poistetaan vanhentunut cat-hakemisto %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d man-alihakemisto sisälsi uudempia opastesivuja.\n" msgstr[1] "%d man-alihakemistoa sisälsi uudempia opastesivuja.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, fuzzy, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] " Opastesivu " msgstr[1] " Opastesivu " -#: src/mandb.c:929 +#: src/mandb.c:923 #, fuzzy, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d jotain .. ööö.. kulkukissaa lisättiin.\n" msgstr[1] "%d jotain .. ööö.. kulkukissaa lisättiin.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, fuzzy, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d vanhaa tietokantamerkintää poistettiin.\n" msgstr[1] "%d vanhaa tietokantamerkintää poistettiin.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Tietokantoja ei luotu." @@ -818,15 +818,15 @@ msgstr "nykyistä hakemistoa ei voi määrittää" msgid "warning: %s does not begin with %s" msgstr "varoitus: %s ei ala merkkijonolla %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -858,96 +858,96 @@ msgstr "" msgid "%s is self referencing" msgstr "%s viittaa itseensä" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "AVAINSANA..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "avainsana(t) sisältävät jokerimerkkejä" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "älä katkaise tulostetta päätteen leveyteen" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s mikä?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "varoitus: %s sisältää osoitinsilmukan" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(tuntematon aihe)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: ei mitään sopivaa.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "yhteensopivuusvalitsin (jätetään huomiotta)" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2016-12-23 19:34+0100\n" "Last-Translator: David Prévot <david@tilapin.org>\n" "Language-Team: French <traduc@traduc.org>\n" @@ -67,7 +67,7 @@ msgstr[1] "il n'y a que %d champs dans le contenu" msgid "bad fetch on multi key %s" msgstr "mauvais accès sur la clef multiple %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "La base %s est corrompue, reconstruisez-la avec mandb --create" @@ -77,28 +77,28 @@ msgstr "La base %s est corrompue, reconstruisez-la avec mandb --create" msgid "warning: %s has no version identifier\n" msgstr "attention : %s n'a pas d'identifiant de version\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "attention : %s a pour version %s au lieu de %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "erreur fatale : impossible d'insérer l'identifiant de version dans %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[BASE DE DONNÉES DE MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "La base de données par défaut est %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "affichage des messages de débogage" @@ -107,44 +107,44 @@ msgstr "affichage des messages de débogage" msgid "can't open %s for reading" msgstr "impossible d'ouvrir %s en lecture" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SECTION...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "CHEMIN" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "configure le chemin de recherche des pages de manuel à CHEMIN" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FICHIER" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "utilise ce fichier de configuration utilisateur" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "la commande man a échoué avec %d comme code de retour" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "impossible de lire la base de données %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "contenu vide (NULL) pour la clef : %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -153,12 +153,12 @@ msgstr "" "\n" "Mise à jour des fichiers préformatés pour la section %s de %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "impossible d'écrire dans %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "impossible de mettre %s à jour" @@ -168,67 +168,67 @@ msgstr "impossible de mettre %s à jour" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "attention : %s/man%s/%s.%s* : extensions en conflit" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "impossible de mettre à jour le cache d'index %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "attention : %s : lien symbolique ou directive ROFF « .so » incorrect" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "attention : %s : fichier vide ignoré" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "attention : %s : la recherche de whatis sur %s(%s) a échoué" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "impossible de chercher dans le répertoire %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "impossible de changer le propriétaire de %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "attention : impossible de créer le répertoire de pages préformatées %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "impossible de changer les droits de %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "impossible d'aller dans le répertoire %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "impossible de créer le cache d'index %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Mise à jour du cache d'index pour le chemin « %s/%s ». Attendez…" -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "terminé.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Effacement des entrées inutiles de %s en cours…\n" @@ -243,49 +243,49 @@ msgstr "attention : impossible de stocker l'entrée pour %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "attention : %s : nom de fichier erroné, ignoré" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "CHEMIN SECTION NOM" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EXTENSION" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "limite la recherche aux extensions EXTENSION" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "recherche les pages sans distinguer la casse (par défaut)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "recherche les pages en distinguant la casse" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "considère le nom de page comme une expression rationnelle" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "le nom de page contient des caractères joker" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "attention : whatis pour %s dépasse d'un octet, excédent tronqué." msgstr[1] "attention : whatis pour %s dépasse de %d octets, excédent tronqué." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "impossible d'ouvrir %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FICHIER..." @@ -383,7 +383,7 @@ msgstr "affiche le code source converti en ENCODAGE" msgid "Finding manual pages:" msgstr "Recherche des pages de manuel :" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALE" @@ -391,15 +391,15 @@ msgstr "LOCALE" msgid "define the locale for this particular man search" msgstr "définit la locale pour cette recherche de manuel" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTÈME" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "utilise les pages de manuel d'autres systèmes" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTE" @@ -516,80 +516,80 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "utilise groff en le forçant à produire ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Aucune entrée de manuel pour %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Sinon, quelle page de manuel de la section %s voulez-vous ?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Quelle page de manuel voulez-vous ?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Aucune entrée de manuel pour %s en section %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" "voir « %s » pour obtenir de l'aide quand les pages de manuel ne sont pas " "disponibles.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "le préprocesseur « %c » est inconnu et ignoré" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "impossible de renommer %s en %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "impossible de changer la date de %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "impossible de supprimer %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "impossible de créer une page « cat » temporaire pour %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "impossible de créer le répertoire temporaire" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "impossible d'ouvrir le fichier temporaire %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "impossible de supprimer le répertoire %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- prochain : %s [ voir (entrée) | passer (Ctrl-D) | quitter (Ctrl-" "C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -598,28 +598,28 @@ msgstr "" "\n" "impossible d'écrire vers %s en mode catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Impossible de convertir %s en nom de page préformatée" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "" "%s : il est conseillé de ne plus se baser sur les références de whatis\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "la commande mandb a échoué avec le code de retour %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "erreur interne : le type candidat %d est hors de portée" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Page de manuel " @@ -652,7 +652,7 @@ msgstr "CODE" msgid "encoding for output" msgstr "encodage de l'affichage" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "crée moins d'avertissements" @@ -666,103 +666,103 @@ msgstr "l'encodage d'entrée doit être précisé" msgid "must specify an output encoding" msgstr "l'encodage de sortie doit être précisé" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANPATH]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "n'affiche rien à part les avertissement de dysfonctionnement" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "ne cherche ni n'ajoute de fichiers « cat » parasites dans la base" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "ne supprime pas les entrées obsolètes de la base" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "produit seulement les bases utilisateur" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "crée les bases du début plutôt qu'une mise à jour" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "vérifie la validité des pages de manuel" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NOM_DE_FICHIER" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "met seulement à jour l'entrée correspondant à ce nom de fichier" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "impossible de supprimer %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "impossible d'écrire dans %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "impossible de lire à partir de %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Traitement des pages du manuel sous %s…\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Suppression du répertoire « cat » obsolète %s…\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "attention : aucune directive MANDB_MAP dans %s, votre fichier manpath est " "utilisé" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "Un sous-répertoire de manuel contient de nouvelles pages.\n" msgstr[1] "%d sous-répertoires de manuel contiennent de nouvelles pages.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "Une page de manuel a été ajoutée.\n" msgstr[1] "%d pages de manuel ont été ajoutées.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "Une page sans source a été ajoutée.\n" msgstr[1] "%d pages sans source ont été ajoutées.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "Une entrée inutile de la base a été supprimée.\n" msgstr[1] "%d entrées inutiles de la base ont été supprimées.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Aucune base de données créée." @@ -839,15 +839,15 @@ msgstr "impossible de déterminer quel est le répertoire courant" msgid "warning: %s does not begin with %s" msgstr "attention : %s ne commence pas par %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "affiche les chemins d'accès relatifs aux pages «\\ cat\\ »" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "affiche les chemins complets de pages de manuel" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -879,96 +879,96 @@ msgstr "attention : impossible de mettre à jour le cache d'index %s" msgid "%s is self referencing" msgstr "%s s'auto-référence" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "MOT-CLEF..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "L'option --regex est activée par défaut. " -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "affiche des messages d'avertissement étendus" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interprète chaque mot-clef comme une expression régulière" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "recherche une correspondance exacte de chaque mot-clef" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "les mots-clefs contiennent des jokers" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "tous les mots-clefs doivent correspondre" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "ne réduit pas l'affichage à la largeur du terminal" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "recherche limitée à ces sections (séparées par des deux-points)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "définit la locale pour cette recherche" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s comment ?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "attention : %s contient une référence circulaire" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(sujet inconnu)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s : rien d'adéquat\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d : requêtes .so imbriquées trop profondément ou récursivement" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: attention : requête .so échouée" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: attention : retour à la ligne dans une requête .so, ignorée" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: attention : anomalie dans la requête .lf , ignorée" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: attention : retour à la ligne dans une requête .lf, ignorée" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: guillemet non fermé dans une requête roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "changement de compatibilité (ignoré)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.6.6-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2014-08-10 19:00+0700\n" "Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n" "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n" @@ -64,7 +64,7 @@ msgstr[1] "hanya bagian %d ada dalam isi" msgid "bad fetch on multi key %s" msgstr "pengambilan buruk di multi kunci %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Basis data %s terkorupsi; membuat kembali dengan mandb --create" @@ -74,28 +74,28 @@ msgstr "Basis data %s terkorupsi; membuat kembali dengan mandb --create" msgid "warning: %s has no version identifier\n" msgstr "peringatan: %s tidak memiliki pengidentifikasi versi\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "peringatan: %s memiliki versi %s, diduga %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatal: tidak dapat memasukan pengidentifikasi versi kedalam %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[BASIS DATA MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Basis data man baku ke %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "keluarkan pesan penelusuran" @@ -104,44 +104,44 @@ msgstr "keluarkan pesan penelusuran" msgid "can't open %s for reading" msgstr "tidak dapat membuka %s untuk pembacaan" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[BAGIAN...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "JALUR" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "tentukan jalur pencarian untuk halaman buku panduan ke JALUR" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "BERKAS" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "gunakan berkas konfigurasi pengguna ini" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "perintah man gagal dengan status keluar %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "tidak dapat membaca basis data %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "isi KOSONG untuk kunci: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -150,12 +150,12 @@ msgstr "" "\n" "Memperbarui berkas cat untuk bagian %s dari struktur man %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "tidak dapat menulis didalam %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "tidak dapat memperbarui %s" @@ -165,67 +165,67 @@ msgstr "tidak dapat memperbarui %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "peringatan: %s/man%s/%s.%s*: ekstensi berkompetisi" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "tidak dapat mengupdate persediaan indeks %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "peringatan: %s: symlink buruk atau ROFF `.so' diminta" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "peringatan: %s: mengabaikan berkas kosong" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "peringatan: %s: whatis parse untuk %s(%s) gagal" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "tidak dapat mencari direktori %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "tidak dapat chown %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "peringatan: tidak dapat membuat catdir %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "tidak dapat chmod %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "tidak dapat mengubah direktori %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "tidak dapat membuat persediaan indeks %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Memperbarui persediaan indeks untuk jalur `%s/%s'. Mohon tunggu..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "selesai.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Menghapus masukan basis data lama dalam %s...\n" @@ -240,49 +240,49 @@ msgstr "peringatan: gagal untuk menyimpan masukan untuk %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "peringatan: %s: mengabaikan nama berkas palsu" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "NAMA JALUR BAGIAN" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EKSTENSI" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "batasi pencarian ke tipe ekstensi EKSTENSI" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "cari untuk halaman dengan tidak membedakan besar huruf (baku)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "cari untuk halaman dengan membedakan besar huruf" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "intepretasikan nama halaman sebagai sebuah regex" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "nama halaman berisi huruf bebas" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "peringatan: whatis untuk %s melebihi %d bytes, dipotong." msgstr[1] "peringatan: whatis untuk %s melebihi %d bytes, dipotong." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "tidak dapat membuka %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "BERKAS..." @@ -381,7 +381,7 @@ msgstr "keluaran sumber halaman dikodekan dalam PENGKODEAN" msgid "Finding manual pages:" msgstr "Mencari halaman manual:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOKAL" @@ -389,15 +389,15 @@ msgstr "LOKAL" msgid "define the locale for this particular man search" msgstr "definisikan lokal untuk pencarian man ini" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SISTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "gunakan halaman manual dari sistem lain" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "DAFTAR" @@ -511,80 +511,80 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "gunakan groff dan paksa itu untuk menghasilkan ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Tidak ada masukan buku panduan untuk %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "" "(Secara alternatif, halaman buku panduan mana yang anda inginkan dari bagian " "%s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Halaman buku panduan mana yang anda inginkan?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Tidak ada masukan buku panduan untuk %s dalam bagian%s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Lihat '%s' untuk bantuan ketika halaman manual tidak tersedia.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "mengabaikan preprosesor tidak dikenal `%c'" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "tidak dapat mengubah nama %s ke %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "tidak dapat menset waktu di %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "tidak dapat unlink %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "tidak dapat membuat cat sementara untuk %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "tidak dapat membuat direktori sementara" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "tidak dapat membuka berkas sementara %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "tidak dapat menghapus direktori %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- selanjutnya: %s [ lihat (return) | lewat (Ctrl-D) | berhenti (Ctrl-" "C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -593,27 +593,27 @@ msgstr "" "\n" "tidak dapat menulis ke %s dalam mode catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Tidak dapat mengubah %s ke nama cat" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: bergantung ke referensi whatis sudah ditinggalkan\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "perintah mandb gagal dengan status keluar %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "internal error: tipe kandidat %d diluar dari jangkauan" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Halaman buku panduan " @@ -646,7 +646,7 @@ msgstr "KODE" msgid "encoding for output" msgstr "pengkodean untuk keluaran" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "menghasilkan peringatan lebih sedikit" @@ -660,74 +660,74 @@ msgstr "harus menspesifikasikan sebuah pengkodean masukan" msgid "must specify an output encoding" msgstr "harus menspesifikasikan sebuah pengkodean keluaran" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[JALUR MAN]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "bekerja secara halus, kecuali untuk peringatan 'palsu'" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "jangan mencari atau menambahkan cats menyimpang ke basis data" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "jangan menghapus masukan yang sudah ditinggalkan dari basis data" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "hanya menghasilkan basis data pengguna" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "membuat basis data dari serpihan, daripada memperbaruinya" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "memeriksa halaman buku panduan untuk kebenarannya" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NAMA BERKAS" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "perbarui hanya masukan untuk nama berkas ini" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "tidak dapat menghapus %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "tidak dapat menulis ke %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "tidak dapat membaca dari %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Memproses halaman buku panduan dibawah %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Memeriksa untuk cats menyimpang dibawah %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "peringatan: tidak ada direktif MANDB_MAP dalam %s, menggunakan jalur man anda" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -738,28 +738,28 @@ msgstr[1] "" "%d man subdirektori berisi halaman buku panduan lebih baru. halaman buku " "panduan telah ditambahkan.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d Halaman buku panduan \n" msgstr[1] "%d Halaman buku panduan \n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d cats menyimpang telah ditambahkan.\n" msgstr[1] "%d cats menyimpang telah ditambahkan.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d masukan basis data lama telah dihapus.\n" msgstr[1] "%d masukan basis data lama telah dihapus.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Tidak ada basis data yang dibuat." @@ -834,15 +834,15 @@ msgstr "tidak dapat menentukan direktori sekarang" msgid "warning: %s does not begin with %s" msgstr "peringatan: %s tidak dimulai dengan %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "tampilkan relative catpaths" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "tampilkan seluruh global manpath" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "peringatan: tidak ada global manpath diset dalam berkas konfigurasi %s" @@ -872,96 +872,96 @@ msgstr "peringatan: tidak dapat memperbarui persediaan indeks %s" msgid "%s is self referencing" msgstr "%s adalah mereferensikan dirinya sendiri" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "KATA KUNCI..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Pilihan --regex aktif secara baku." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "tampikan pesan peringatan bertele-tele" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "intepretasikan setiap kata kunci sebagai sebuah regex" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "cari setiap kata kunci untuk pencocokan yang tepat" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "kata kunci berisi huruf bebas" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "membutuhkan semua kata kunci untuk mencocokan" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "jangan trim keluaran ke lebar terminal" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "hanya cari di bagian ini" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "definisikan lokal untuk pencarian ini" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s apa?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "peringatan: %s berisi sebuah penunjuk loop" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(subjek tidak diketahui)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: tidak ada yang sesuai.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: permintaan .so nested terlalu dalam atau rekursif" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: peringatan: permintaan .so gagal" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: peringatan: baris baru dalam permintaan .so, diabaikan" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: peringatan: salah bentuk permintaan .lf, diabaikan" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: peringatan: baris baru dalam permintaan .lf, diabaikan" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: quote tidak terselesaikan dalam permintaan roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "pilihan untuk kompabilitas saja (diabaikan)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.4.3\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2005-12-10 17:30+0100\n" "Last-Translator: Giuseppe Sacco <eppesuig@debian.org>\n" "Language-Team: Italian <tp@linux.it>\n" @@ -63,7 +63,7 @@ msgstr[1] "trovati solo %d campi" msgid "bad fetch on multi key %s" msgstr "fetch errato sulla chiave multipla %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Il database %s corrotto; lo si ricrei con mandb --create" @@ -73,28 +73,28 @@ msgstr "Il database %s corrotto; lo si ricrei con mandb --create" msgid "warning: %s has no version identifier\n" msgstr "attenzione: %s non ha l'identificatore di versione\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "attenzione: %s ha versione %s, invece dell'attesa %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "errore grave: impossibile inserire l'identificatore di versione in %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "" -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "" @@ -103,45 +103,45 @@ msgstr "" msgid "can't open %s for reading" msgstr "impossibile aprire %s in lettura" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 #, fuzzy msgid "use this user configuration file" msgstr "impossibile aprire il file di configurazione dei percorsi man %s" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "comando man fallito con stato d'uscita %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "impossibile leggere il database %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "contenuto NULL per la chiave: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -150,12 +150,12 @@ msgstr "" "\n" "Aggiornamento dei file cat della sezione %s della gerarchia di manuali %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "impossibile scrivere all'interno di %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "impossibile aggiornare %s" @@ -165,68 +165,68 @@ msgstr "impossibile aggiornare %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "attenzione: %s/man%s/%s.%s*: estensioni in conflitto" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "impossibile aggiornare l'indice %s della cache" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "attenzione: %s: link simbolico o richiesta ROFF \".so\" errato(a)" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "attenzione: %s: viene ignorato un file vuoto" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "attenzione: %s: analisi whatis per %s(%s) fallita" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "impossibile ricercare nella directory %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "impossibile fare chown su %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "attenzione: impossibile creare la directory %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "impossibile fare chmod su %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "impossibile posizionarsi nella directory %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "impossibile creare l'indice %s della cache" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "" "Aggiornamento dell'indice della cache per il percorso \"%s/%s\". Attendere..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "fatto.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Rimozione delle vecchie voci di basi dati in %s...\n" @@ -241,49 +241,49 @@ msgstr "attenzione: c' stato un errore memorizzando il dato %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "attenzione: %s: vengono ignorati i nomi di file fasulli" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, fuzzy, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "attenzione: whatis per %s eccede di %d byte, troncato." msgstr[1] "attenzione: whatis per %s eccede di %d byte, troncato." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "impossibile aprire %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "" @@ -382,7 +382,7 @@ msgstr "" msgid "Finding manual pages:" msgstr " Pagina di manuale " -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "" @@ -390,15 +390,15 @@ msgstr "" msgid "define the locale for this particular man search" msgstr "" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "" @@ -506,78 +506,78 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Non c' il manuale per %s\n" -#: src/man.c:599 +#: src/man.c:601 #, fuzzy, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "Quale pagina di manuale si desidera della sezione %s?\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Quale pagina di manuale si desidera?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Non c' il manuale per %s nella sezione %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" "Si veda \"%s\" per l'aiuto quando le pagine di manuali non sono presenti.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "preprocessore \"%c\" sconosciuto, lo ignoro" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "impossibile rinominare %s in %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "impossibile impostare la data per %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "impossibile fare unlink di %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "impossibile creare un file 'cat' temporaneo per %s" -#: src/man.c:1913 +#: src/man.c:1915 #, fuzzy, c-format msgid "can't create temporary directory" msgstr "impossibile creare un file 'cat' temporaneo per %s" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "impossibile aprire il file temporaneo %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "impossibile rimuovere la directory %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- successivo: %s [ mostra (return) | salta (Ctrl-D) | esci (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -586,27 +586,27 @@ msgstr "" "\n" "impossibile scrivere in %s in modo catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Impossibile convertire %s nel nome cat" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: confidare nei whatis refs obsoleto\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "comando mandb fallito con stato d'uscita %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "errore interno: il tipo %d candidato oltre il limite" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Pagina di manuale " @@ -639,7 +639,7 @@ msgstr "" msgid "encoding for output" msgstr "" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "" @@ -653,73 +653,73 @@ msgstr "" msgid "must specify an output encoding" msgstr "" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "impossibile rimuovere %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "impossibile scrivere in %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "impossibile leggere da %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Lavorazione delle pagine di manuale sotto a %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, fuzzy, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Ricerca degli stray cat sotto a %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "attenzione: nessuna direttiva MANDB_MAP in %s, uso del tuo manpath" -#: src/mandb.c:920 +#: src/mandb.c:914 #, fuzzy, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -730,28 +730,28 @@ msgstr[1] "" "%d sottodirectory man contenevano nuove pagine di manuale.\n" "Sono state aggiunte %d pagine di manuale\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, fuzzy, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] " Pagina di manuale " msgstr[1] " Pagina di manuale " -#: src/mandb.c:929 +#: src/mandb.c:923 #, fuzzy, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d stray cat sono stati aggiunti.\n" msgstr[1] "%d stray cat sono stati aggiunti.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, fuzzy, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d vecchie voci di database sono state rimosse.\n" msgstr[1] "%d vecchie voci di database sono state rimosse.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, fuzzy, c-format msgid "No databases created." msgstr "Il database non stato aggiornato." @@ -826,15 +826,15 @@ msgstr "impossibile determinare la directory corrente" msgid "warning: %s does not begin with %s" msgstr "attenzione: %s non inizia con %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -866,96 +866,96 @@ msgstr "attenzione: impossibile aggiornare l'index %s della cache" msgid "%s is self referencing" msgstr "%s auto referenziante" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s cosa?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "attenzione: %s contiene un riferimeno a se stesso" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(oggetto sconosciuto)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: niente di appropriato.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "" @@ -1,22 +1,27 @@ # Japanese messages for man-db -# Copyright (C) 2011 Colin Watson (msgids) +# Copyright (C) 2019 Colin Watson (msgids) # This file is distributed under the same license as the man-db package. # UCHIDA Norihiro <KY4N-UCD@asahi-net.or.jp>, 2000. # Yasuaki Taniguchi <yasuakit@gmail.com>, 2011. +# Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>, 2019. # msgid "" msgstr "" -"Project-Id-Version: man-db-2.6.5\n" +"Project-Id-Version: man-db-2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" -"PO-Revision-Date: 2013-06-27 19:41+0900\n" -"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" +"PO-Revision-Date: 2019-08-24 23:30+0900\n" +"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n" "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n" "Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 2.2.1\n" +"X-Poedit-Basepath: man-db-2.8.0-pre2\n" +"X-Poedit-SearchPath-0: .\n" #: lib/security.c:79 #, c-format @@ -64,7 +69,7 @@ msgstr[0] "中身が %d フィールドしかありません" msgid "bad fetch on multi key %s" msgstr "複合キー %s は不正な呼び出しです" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "" @@ -76,28 +81,28 @@ msgstr "" msgid "warning: %s has no version identifier\n" msgstr "警告: %s にはバージョン識別子がありません\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "警告: %1$s のバージョンは %3$s が予期されますが、実際は %2$s です\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "致命的: %s にバージョン識別子を挿入できません" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MAN DATABASE]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "man データベースのデフォルトを %s%s にします。" -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "デバッグメッセージを表示する" @@ -106,44 +111,44 @@ msgstr "デバッグメッセージを表示する" msgid "can't open %s for reading" msgstr "%s を読み込み用に開けません" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SECTION...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "PATH" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "man ページ用の検索パスを PATH に設定する" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FILE" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "このユーザ設定ファイルを使用する" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "man コマンドが終了ステータス %d で失敗しました" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "データベース %s を読み込めません" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "キー %s の内容は NULL です" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +157,12 @@ msgstr "" "\n" "man 階層 %2$s のセクション %1$s の cat ファイルを更新しています\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "%s に書き込めません" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "%s を更新できません" @@ -167,68 +172,68 @@ msgstr "%s を更新できません" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "警告: %s/man%s/%s.%s*: 拡張子が競合しています" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "index キャッシュ %s を更新できません" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "" "警告: %s: シンボリックリンクまたは ROFF の `.so' 要求に誤りがあります" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "警告: %s: 空ファイルを無視しています" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "警告: %s: whatis が %s(%s) の解釈に失敗しました" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "ディレクトリー %s を検索できません" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "%s の所有者を変更 (chown) できません" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "警告: cat ディレクトリー %s を作成できません" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "%s の許可属性を変更 (chmod) できません" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "ディレクトリ %s に移動できません" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "index キャッシュ %s を作成できません" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "パス `%s/%s' の index キャッシュを更新しています。お待ちください..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "完了しました。\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "%s 内の古いデータベース要素を取り除いています...\n" @@ -243,48 +248,48 @@ msgstr "警告: %s(%s) 用の要素の保存に失敗しました" msgid "warning: %s: ignoring bogus filename" msgstr "警告: %s: おかしなファイル名を無視しています" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "PATH SECTION NAME" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EXTENSION" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" -msgstr "検索対象を拡張子が EXTENSION のものに限定する" +msgstr "検索対象を拡張子 EXTENSION に絞る" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "大文字小文字を区別しないでページを検索する (デフォルト)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "大文字小文字を区別してページを検索する" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "ページ名を正規表現として解釈する" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "ページ名をワイルドカードとして解釈する" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "警告: %s 用の whatis が %d バイトを超えています。切り詰めます。" -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "%s をオープンできません" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FILE..." @@ -306,7 +311,7 @@ msgstr "whatis 情報を表示する" #: src/lexgrog_test.c:77 msgid "show guessed series of preprocessing filters" -msgstr "推測した一連の事前処理フィルターを表示" +msgstr "推定した一連の前処理フィルターを表示する" #: src/lexgrog_test.c:78 src/man.c:284 src/man.c:309 msgid "ENCODING" @@ -382,7 +387,7 @@ msgstr "ソースページのエンコーディングが ENCODING であると msgid "Finding manual pages:" msgstr "マニュアルページの探し方:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALE" @@ -390,15 +395,15 @@ msgstr "LOCALE" msgid "define the locale for this particular man search" msgstr "この man の検索用のロケールを定義する" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "ほかのシステムからのマニュアルページを使用する" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LIST" @@ -430,7 +435,7 @@ msgstr "キャッシュ一貫性の確認を強制する" #: src/man.c:303 msgid "don't try subpages, e.g. 'man foo bar' => 'man foo-bar'" -msgstr "サブページの試行、例えば 'man foo bar' => 'man foo-bar' を行わない" +msgstr "サブページを検索しない (例 'man foo bar' => 'man foo-bar' のような)" #: src/man.c:305 msgid "Controlling formatted output:" @@ -506,85 +511,84 @@ msgid "" "use groff and display through gxditview (X11):\n" "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12" msgstr "" -"groff を使用し、 gxditview (X11) を通して表示する:\n" +"groff を使用し、 gxditview (X11) を等して表示する:\n" "-X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12" #: src/man.c:329 msgid "use groff and force it to produce ditroff" msgstr "groff を使用し、強制的に ditroff を生成する" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "%s というマニュアルはありません\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" -msgstr "(セクション %s からどのマニュアルページを代わりに表示しますか?)\n" +msgstr "(代わりに セクション %s のどのマニュアルページを表示しますか?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "マニュアルページを指定してください\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "%s というマニュアルはセクション %s にはありません\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" -msgstr "" -"マニュアルページが利用できない場合のヘルプについては '%s'を見てください。\n" +msgstr "マニュアルページがない場合には '%s' をご覧ください。\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "不明な前処理系 `%c' を無視しています" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "%s の名前を %s に変更できません" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "%s の時刻を設定できません" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "%s を削除(unlink)できません" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "%s 用の一時的な整形済みファイルを作成できません" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "一時ディレクトリを作成できません" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "一時ファイル %s を開けません" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "ディレクトリ %s を削除できません" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- 次は: %s [ 閲覧 (return) | スキップ (Ctrl-D) | 終了 (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -593,27 +597,27 @@ msgstr "" "\n" "catman モードで %s に書き込みできません" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "%s を整形済みファイル名に変換できません" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" -msgstr "%s: whatis の参照に頼ることは勧められなくなっています\n" +msgstr "%s: 参照が非推奨のwhatis に依存しています\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "mandb コマンドが終了ステータス %d で失敗しました" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" -msgstr "内部エラー: 候補の種類 %d は範囲内にありません" +msgstr "内部エラー: 候補タイプ %d が範囲外です" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " マニュアルページ " @@ -636,7 +640,7 @@ msgstr "CODE[:...]" #: src/manconv_main.c:94 msgid "possible encodings of original text" -msgstr "原文の推定エンコーディング" +msgstr "原文テキストのあり得るエンコーディング" #: src/manconv_main.c:95 msgid "CODE" @@ -644,11 +648,11 @@ msgstr "CODE" #: src/manconv_main.c:95 msgid "encoding for output" -msgstr "出力用エンコーディング" +msgstr "出力のエンコーディング" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" -msgstr "警告を少なくする" +msgstr "警告表示を減らします" #: src/manconv_main.c:132 src/manconv_main.c:141 #, c-format @@ -660,76 +664,74 @@ msgstr "入力エンコーディングを指定しなければいけません" msgid "must specify an output encoding" msgstr "出力エンコーディングを指定しなければいけません" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANPATH]" -# Translator's NOTE: work..., don't look..., produce..., create are from: -# Translator's NOTE: http://lists.debian.or.jp/debian-doc/199812/msg00016.html -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" -msgstr "'ファイル名の不一致'による警告以外何も出力しない" +msgstr "静かに動作します、ただし 'bogus' 警告は出力します" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" -msgstr "roff のない cat ファイルを検索、DB へ追加しない" +msgstr "迷子の cat をデータベースから探したり追加したりしません" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" -msgstr "古くなったエントリーを DB から削除しない" +msgstr "データベースにある廃止されたエントリーを削除しません" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" -msgstr "ユーザ用データベースのみを生成" +msgstr "ユーザーのデータベースのみを出力します" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" -msgstr "データベースを更新せず、一から作成し直す" +msgstr "データベースを更新でなく、最初から作成します" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" -msgstr "マニュアルページの正確さをチェック" +msgstr "マニュアルページの正確さをチェックします" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "FILENAME" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" -msgstr "このファイル名の要素だけを更新" +msgstr "このファイル名に対応するエントリーのみを更新します" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "%s を削除できません" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "%s に書き込めません" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "%s から読み込めません" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "%s 配下のマニュアルページを処理しています...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "古い cat ディレクトリ %s を削除しています...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "警告: %s に MANDB_MAP の指定はありません。あなたの manpath を使用します" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -737,25 +739,25 @@ msgstr[0] "" "%d 個のマニュアルページ子ディレクトリに新しいマニュアルページが含まれていまし" "た。\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d 個のマニュアルページが追加されました。\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" -msgstr[0] "roff のない cat ファイルが %d 個追加されました。\n" +msgstr[0] "%d の迷子の cat が追加されました。\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d 個の古いデータベース要素が除去されました。\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "データベースは作成されませんでした。" @@ -830,15 +832,15 @@ msgstr "カレントディレクトリを決定できません" msgid "warning: %s does not begin with %s" msgstr "警告: %s は %s で始まっていません" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" -msgstr "相対 catpath を表示" +msgstr "相対 catpath を表示します" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" -msgstr "グローバルな manpath 全体を表示" +msgstr "グローバル manpath 全体を表示します" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "警告: 設定ファイル %s にグローバルな manpath の設定がありません" @@ -868,105 +870,104 @@ msgstr "警告: index キャッシュ %s を更新できません" msgid "%s is self referencing" msgstr "%s は自分自身を参照しています" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "KEYWORD..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "--regex オプションはデフォルトで有効です。" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "冗長な警告メッセージを表示する" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "各キーワードを正規表現として解釈する" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" -msgstr "各検索語に完全に一致するものを検索" +msgstr "それぞれのキーワードについて完全一致を検索する" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "キーワードでワイルドカードを使用する" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" -msgstr "全検索語に一致するものを検索" +msgstr "すべてのキーワードが一致する必要あり" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "出力を端末幅に切り詰めない" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "これらのセクションのみ検索する (コロン区切り)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "検索するロケールを定義する" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s キーワードは何ですか?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "警告: %s にはループしているポインタが含まれています" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(不明な題名です)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: 適切なものはありませんでした。\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: .so 要求の入れ子が深すぎる、または再帰しています" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: 警告: .so 要求の処理に失敗しました" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: 警告: .so 要求の中に改行があります。無視しています" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: 警告: 誤った形式の .lf 要求です。無視しています" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: 警告: .lf 要求の中に改行があります。無視しています" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: roff 要求の中に終端されていないクォートがあります" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "互換性のためのスイッチです (無視されます)" -#~ msgid "manpath list too long" -#~ msgstr "manpath リストが長すぎます" - -#, fuzzy #~ msgid "can't restore previous working directory" -#~ msgstr "一時ディレクトリを作成できません" +#~ msgstr "直前の作業ディレクトリを復元できません" #~ msgid "can't chdir to %s" #~ msgstr "%s にディレクトリを変更できません" + +#~ msgid "manpath list too long" +#~ msgstr "manpath リストが長すぎます" diff --git a/po/man-db.pot b/po/man-db.pot index 841a9f03..f111ec28 100644 --- a/po/man-db.pot +++ b/po/man-db.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: man-db 2.8.6.1\n" +"Project-Id-Version: man-db 2.8.7\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -65,7 +65,7 @@ msgstr[1] "" msgid "bad fetch on multi key %s" msgstr "" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "" @@ -75,28 +75,28 @@ msgstr "" msgid "warning: %s has no version identifier\n" msgstr "" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "" -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "" @@ -105,56 +105,56 @@ msgstr "" msgid "can't open %s for reading" msgstr "" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" "Updating cat files for section %s of man hierarchy %s\n" msgstr "" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "" @@ -164,67 +164,67 @@ msgstr "" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "" -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "" @@ -239,49 +239,49 @@ msgstr "" msgid "warning: %s: ignoring bogus filename" msgstr "" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "" msgstr[1] "" -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "" @@ -379,7 +379,7 @@ msgstr "" msgid "Finding manual pages:" msgstr "" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "" @@ -387,15 +387,15 @@ msgstr "" msgid "define the locale for this particular man search" msgstr "" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "" @@ -503,103 +503,103 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" "cannot write to %s in catman mode" msgstr "" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr "" @@ -632,7 +632,7 @@ msgstr "" msgid "encoding for output" msgstr "" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "" @@ -646,101 +646,101 @@ msgstr "" msgid "must specify an output encoding" msgstr "" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "" msgstr[1] "" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "" msgstr[1] "" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "" msgstr[1] "" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "" msgstr[1] "" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "" @@ -815,15 +815,15 @@ msgstr "" msgid "warning: %s does not begin with %s" msgstr "" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -853,95 +853,95 @@ msgstr "" msgid "%s is self referencing" msgstr "" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db-2.5.7-pre1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2009-11-16 08:36+0100\n" "Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n" "Language-Team: Dutch <vertaling@vrijschrift.org>\n" @@ -66,7 +66,7 @@ msgstr[1] "slechts %d velden in de inhoud" msgid "bad fetch on multi key %s" msgstr "onjuiste treffer voor multisleutel %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Database %s is beschadigd; maak deze opnieuw aan met 'mandb --create'" @@ -76,28 +76,28 @@ msgstr "Database %s is beschadigd; maak deze opnieuw aan met 'mandb --create'" msgid "warning: %s has no version identifier\n" msgstr "waarschuwing: %s heeft geen versie-indicatie\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "waarschuwing: %s heeft versie %s, terwijl %s verwacht wordt\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatale fout: kan geen versie-indicatie invoegen in %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MAN-GEGEVENSBANK]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "De standaard man-database is %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "debug-uitvoer produceren" @@ -106,44 +106,44 @@ msgstr "debug-uitvoer produceren" msgid "can't open %s for reading" msgstr "kan %s niet openen om te lezen" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SECTIE...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "PAD" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "pad waarin naar man-pagina's gezocht moet worden" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "BESTAND" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "te gebruiken configuratiebestand" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "'man' is mislukt met afsluitwaarde %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "kan database %s niet lezen" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "NULL-inhoud voor sleutel %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "Bijwerken van cat-bestanden voor sectie %s van man-hiërachie %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "kan in %s niet schrijven" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "kan %s niet bijwerken" @@ -167,69 +167,69 @@ msgstr "kan %s niet bijwerken" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "waarschuwing: botsende subsecties in %s/man%s/%s.%s*" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "kan index-cache %s niet bijwerken" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "" "waarschuwing: %s: onjuiste symbolische koppeling of onjuist roff-'.so'-" "verzoek" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "waarschuwing: %s: leeg bestand wordt genegeerd" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "waarschuwing: %s: ontleden van %s(%s) voor 'whatis' is mislukt" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "kan map %s niet doorzoeken" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "kan eigenaar van %s niet wijzigen" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "waarschuwing: kan cat-map %s niet aanmaken" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "kan de toegangsrechten van %s niet wijzigen" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "kan niet naar map %s gaan" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "kan index-cache %s niet aanmaken" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Bijwerken van index-cache voor pad '%s/%s'. Even geduld..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "voltooid.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Verwijderen van oude databaseitems uit %s...\n" @@ -244,49 +244,49 @@ msgstr "waarschuwing: opslaan van item voor %s(%s) is mislukt" msgid "warning: %s: ignoring bogus filename" msgstr "waarschuwing: %s: onjuiste bestandsnaam wordt genegeerd" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "PAD SECTIE NAAM" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "SUBSECTIE" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "het zoeken beperken tot deze subsectie" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "hoofdletterongevoelig naar pagina's zoeken" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "hoofdlettergevoelig naar pagina's zoeken" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "paginanaam als reguliere expressies begrijpen" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "de paginanaam bevat jokertekens" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, fuzzy, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "waarschuwing: de 'whatis' voor %s is meer dan %d bytes -- afgekapt" msgstr[1] "waarschuwing: de 'whatis' voor %s is meer dan %d bytes -- afgekapt" -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "kan %s niet openen" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "BESTAND..." @@ -384,7 +384,7 @@ msgstr "brontekst uitvoeren omgezet naar deze codering" msgid "Finding manual pages:" msgstr "Gevonden man-pagina's:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "TAALCODE" @@ -392,15 +392,15 @@ msgstr "TAALCODE" msgid "define the locale for this particular man search" msgstr "te gebruiken taalregio voor deze zoekopdracht" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTEEMNAAM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "man-pagina's van deze andere Unix-systemen tonen" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "SECTIES" @@ -514,77 +514,77 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "'groff' gebruiken en \"ditroff\" laten produceren" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Er is geen pagina over %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Of anders: welke man-pagina wilt u zien uit sectie %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Welke man-pagina wilt u zien?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Er is geen pagina over %s in sectie %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Zie '%s' voor hulp als man-pagina's niet beschikbaar zijn.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "onbekende preprocessor '%c' wordt genegeerd" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "kan %s niet hernoemen naar %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "kan tijdsstempels van %s niet zetten" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "kan %s niet verwijderen" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "kan geen tijdelijk cat-bestand aanmaken voor %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "kan geen tijdelijk map aanmaken" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "kan tijdelijk bestand %s niet openen" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "kan map %s niet verwijderen" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- volgende: %s [ Enter=zien | Ctrl-D=overslaan | Ctrl-C=afsluiten ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -593,27 +593,27 @@ msgstr "" "\n" "kan niet naar %s schrijven in 'catman'-modus" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Kan %s niet omzetten naar een cat-naam" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: vertrouwen op 'whatis'-referenties wordt ontraden\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "'mandb' is mislukt met afsluitwaarde %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "**interne fout**: kandidaattype %d valt buiten bereik" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Handleidingspagina " @@ -646,7 +646,7 @@ msgstr "CODERING" msgid "encoding for output" msgstr "codering van de uitvoer" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "minder waarschuwingen produceren" @@ -660,74 +660,74 @@ msgstr "specificatie van een invoercodering ontbreekt" msgid "must specify an output encoding" msgstr "specificatie van een uitvoercodering ontbreekt" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANPAD]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "minder waarschuwingen produceren" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "losse cat-bestanden niet aan database toevoegen" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "verouderde items niet uit database verwijderen" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "alleen gebruikersdatabase produceren" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "database niet bijwerken maar opnieuw aanmaken" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "de man-pagina's op correctheid controleren" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "BESTAND" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "alleen het item voor dit bestand bijwerken" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "kan %s niet verwijderen" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "kan niet naar %s schrijven" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "kan niet uit %s lezen" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Verwerken van pagina's onder %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, fuzzy, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Zoeken naar losse cat-bestanden onder %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "waarschuwing: geen 'MANDB_MAP'-opdrachten in %s; uw man-pad wordt gebruikt" -#: src/mandb.c:920 +#: src/mandb.c:914 #, fuzzy, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -738,28 +738,28 @@ msgstr[1] "" "%d man-mappen bevatten nieuwere pagina's,\n" "%d man-pagina's werden toegevoegd.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, fuzzy, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] " Handleidingspagina " msgstr[1] " Handleidingspagina " -#: src/mandb.c:929 +#: src/mandb.c:923 #, fuzzy, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d losse cat-bestanden werden toegevoegd.\n" msgstr[1] "%d losse cat-bestanden werden toegevoegd.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, fuzzy, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d verouderde databaseitems werden verwijderd.\n" msgstr[1] "%d verouderde databaseitems werden verwijderd.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Geen databases aangemaakt." @@ -834,15 +834,15 @@ msgstr "kan huidige map niet bepalen" msgid "warning: %s does not begin with %s" msgstr "waarschuwing: %s begint niet met %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "de relatieve cat-paden weergeven" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "het volledige globale man-pad weergeven" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -873,97 +873,97 @@ msgstr "waarschuwing: kan index-cache %s niet bijwerken" msgid "%s is self referencing" msgstr "%s refereert aan zichzelf" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "SLEUTELWOORD..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "De optie '--regex' is standaard." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "breedsprakige waarschuwingen produceren" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "sleutelwoorden als reguliere expressies begrijpen" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "sleutelwoorden moeten exact overeenkomen" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "de sleutelwoorden bevatten jokertekens" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "alle sleutelwoorden moeten gevonden worden" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "de uitvoer niet aan de terminalbreedte aanpassen" -#: src/whatis.c:134 +#: src/whatis.c:133 #, fuzzy msgid "search only these sections (colon-separated)" msgstr "alleen in deze sectie zoeken" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "te gebruiken taalregio voor deze zoekopdracht" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s wat?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "waarschuwing: %s bevat een pointer-lus" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(onderwerp onbekend)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: niets gevonden.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: '.so'-verzoeken zijn te diep genest of recursief" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: waarschuwing: '.so'-verzoek is mislukt" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: waarschuwing: regeleindeteken in '.so'-verzoek -- genegeerd" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: waarschuwing: onjuist '.lf'-verzoek -- genegeerd" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: waarschuwing: regeleindeteken in '.lf'-verzoek -- genegeerd" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: onafgesloten aanhaling in 'roff'-verzoek" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "compatibiliteitsoptie (genegeerd)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2016-12-21 20:46+0100\n" "Last-Translator: Robert Luberda <robert@debian.org>\n" "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n" @@ -68,7 +68,7 @@ msgstr[2] "tylko %d pól w zmiennej content" msgid "bad fetch on multi key %s" msgstr "błąd pobierania klucza wielowymiarowego %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "" @@ -80,28 +80,28 @@ msgstr "" msgid "warning: %s has no version identifier\n" msgstr "ostrzeżenie: brak identyfikatora wersji w %s\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "ostrzeżenie: %s jest w wersji %s, podczas gdy oczekiwano %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "błąd krytyczny: nie można dodać identyfikatora wersji do %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[BAZA DANYCH MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Domyślną bazą danych jest %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "wyświetla komunikaty diagnostyczne" @@ -110,45 +110,45 @@ msgstr "wyświetla komunikaty diagnostyczne" msgid "can't open %s for reading" msgstr "nie można otworzyć %s do odczytu" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SEKCJA...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "ŚCIEŻKA" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "ustawia ścieżkę wyszukiwania stron podręcznika na ŚCIEŻKĘ" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "PLIK" # -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "używa tego pliku konfiguracyjnego użytkownika" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "polecenie man zakończyło się błędem %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "nie można odczytać bazy danych %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "Pusta (NULL) zawartość klucza %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -157,12 +157,12 @@ msgstr "" "\n" "Aktualizowanie preformatowanych stron w sekcji %s hierarchii stron %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "nie można zapisać w %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "nie można zaktualizować %s" @@ -172,68 +172,68 @@ msgstr "nie można zaktualizować %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "ostrzeżenie: %s/man%s/%s.%s*: konkurujące rozszerzenia" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "nie można zaktualizować bufora indeksu %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "" "ostrzeżenie: %s złe dowiązanie symboliczne lub błędne żądanie \".so\" ROFF" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "ostrzeżenie: %s: ignorowanie pustego pliku" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "ostrzeżenie: %s: przetwarzanie whatis %s(%s) się nie powiodło" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "nie można przeszukać katalogu %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "nie można zmienić właściciela %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "ostrzeżenie: błąd tworzenia katalogu preformatowanych stron %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "nie można zmienić praw dostępu %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "nie można przejść do katalogu %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "nie można utworzyć bufora indeksu %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Aktualizowanie bufora indeksu dla ścieżki \"%s/%s\". Proszę czekać..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "zakończono.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Usuwanie starych wpisów w bazie danych %s...\n" @@ -248,35 +248,35 @@ msgstr "ostrzeżenie: błąd podczas zachowywania wpisu dla %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "ostrzeżenie: %s: ignorowanie niepoprawnej nazwy pliku" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "ŚCIEŻKA SEKCJA NAZWA" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "ROZSZERZENIE" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "ogranicza wyszukiwanie do podanego typu ROZSZERZENIA" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "wyszukuje strony ignorując wielkość liter (domyślnie)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "wyszukuje strony biorąc pod uwagę wielkość liter" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "interpretuje każde nazwę strony jako wyr. regularne" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "nazwa strony zawiera znaki dopasowywania" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." @@ -286,14 +286,14 @@ msgstr[1] "" msgstr[2] "" "ostrzeżenie: whatis dla argumentu %s przekracza %d bajtów, obcinanie." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "nie można otworzyć %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "PLIK..." @@ -392,7 +392,7 @@ msgstr "wypisuje stronę źródłową przekształconą do KODOWANIA" msgid "Finding manual pages:" msgstr "Wyszukiwanie stron podręcznika ekranowego:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "UST_JĘZYKOWE" @@ -400,15 +400,15 @@ msgstr "UST_JĘZYKOWE" msgid "define the locale for this particular man search" msgstr "określa ustawienia językowe tego wyszukiwania stron" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "używa stron podręcznika z innych systemów" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTA" @@ -523,80 +523,80 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "używa groffa i wymusza na nim wyprodukowanie ditroffa" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Brak podręcznika dla %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Albo: jakiej strony z sekcji %s podręcznika potrzebujesz?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Jakiej strony podręcznika potrzebujesz?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Brak podręcznika dla %s w sekcji %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" "Proszę przeczytać \"%s\", aby uzyskać pomoc,\n" " gdy strony podręcznika nie są dostępne.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "ignorowanie nieznanego preprocesora \"%c\"" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "nie można zmienić nazwy %s na %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "nie można ustawić czasów na %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "nie można usunąć %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "nie można utworzyć tymczasowego pliku cat dla %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "nie można utworzyć katalogu tymczasowego" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "nie można otworzyć pliku tymczasowego %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "nie można usunąć katalogu %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- następna: %s [ przeglądaj (return) | pomiń (Ctrl-D) | zakończ (Ctrl-" "C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -605,28 +605,28 @@ msgstr "" "\n" "nie można zapisać do %s w trybie catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Nie można skonwertować %s do nazwy preformatowanej strony podręcznika" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: poleganie na odnośnikach whatis jest niezalecane\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "polecenie mandb zakończyło się błędem %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "" "błąd wewnętrzny: typ kandydata %d poza zakresem dopuszczalnych wartości" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Strona podręcznika ekranowego " @@ -659,7 +659,7 @@ msgstr "KOD" msgid "encoding for output" msgstr "kodowanie wyjścia" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "podaje mniej ostrzeżeń" @@ -673,73 +673,73 @@ msgstr "należy podać kodowanie wejścia" msgid "must specify an output encoding" msgstr "należy podać kodowanie wyjścia" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANPATH]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "tryb cichy, poza ostrzeżeniami o nieprawidłowościach" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "nie szuka i nie dodaje zabłąkanych plików cat do db" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "nie czyści przestarzałych wpisów z bazy danych" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "tworzy tylko bazy danych użytkownika" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "tworzy nowe bazy danych, zamiast aktualizować istniejące" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "sprawdza poprawność stron podręcznika" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NAZWA_PLIKU" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "aktualizuje wpis dotyczący tej nazwy pliku" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "nie można usunąć %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "nie można pisać do %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "nie można czytać z %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Przetwarzanie stron podręcznika w %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Usuwanie przestarzałego katalogu stron preformatowanych %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "ostrzeżenie: w %s brak dyrektyw MANDB_MAP, używanie ścieżki manpath" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -747,7 +747,7 @@ msgstr[0] "%d podkatalog man zawierał nowsze strony podręcznika.\n" msgstr[1] "%d podkatalogi man zawierały nowsze strony podręcznika.\n" msgstr[2] "%d podkatalogów man zawierało nowsze strony podręcznika.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" @@ -755,7 +755,7 @@ msgstr[0] "Dodano %d stronę podręcznika.\n" msgstr[1] "Dodano %d strony podręcznika.\n" msgstr[2] "Dodano %d stron podręcznika.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" @@ -763,7 +763,7 @@ msgstr[0] "Dodano %d zabłąkaną preformatowaną stronę podręcznika.\n" msgstr[1] "Dodano %d zabłąkane preformatowane strony podręcznika.\n" msgstr[2] "Dodano %d zabłąkanych preformatowanych stron podręcznika.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" @@ -771,7 +771,7 @@ msgstr[0] "Usunięto %d stary wpis z bazy danych.\n" msgstr[1] "Usunięto %d stare wpisy z bazy danych.\n" msgstr[2] "Usunięto %d starych wpisów z bazy danych.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Nie utworzono żadnej bazy danych." @@ -846,15 +846,15 @@ msgstr "nie można określić katalogu bieżącego" msgid "warning: %s does not begin with %s" msgstr "ostrzeżenie: %s nie zaczyna się od %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "wyświetla względne ścieżki cat" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "pokazuje całą globalną ścieżkę manpath" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -885,96 +885,96 @@ msgstr "ostrzeżenie: nie można zaktualizować bufora indeksu %s" msgid "%s is self referencing" msgstr "%s odwołuje się do samego siebie" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "SŁOWO_KLUCZ..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Opcja --regex jest domyślnie włączona." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "wyświetla szczegółowe ostrzeżenia" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interpretuje każde słowo kluczowe jako wyr. regularne" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "szuka każdego słowa kluczowego dla pełnego dopasowania" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "słowa kluczowe zawierają znaki dopasowywania" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "żąda dopasowania wszystkich słów kluczowych" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "nie przycina wyjścia do szerokości terminalu" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "przeszukuje tylko te sekcje (rozdzielone średnikami)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "ustawienia językowe tego wyszukiwania" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "co %s?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "ostrzeżenie: %s zawiera pętlę wskaźników" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(temat nieznany)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nic odpowiedniego.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: żądania.so zbyt głębokie lub rekurencyjne" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: ostrzeżenie: błędne żądanie .so" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: ostrzeżenie: znak nowej linii w żądaniu .so, ignorowanie" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: ostrzeżenie: zniekształcone żądanie .lf, ignorowanie" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: ostrzeżenie: znak nowej linii w żądaniu .lf, ignorowanie" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: niedopasowany cudzysłów w żądaniu roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "ignorowana, dla zachowania kompatybilności" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2018-10-11 19:40+0100\n" "Last-Translator: Pedro Albuquerque <palbuquerque73@gmail.com>\n" "Language-Team: Portuguese <translation-team-pt@lists.sourceforge.net>\n" @@ -66,7 +66,7 @@ msgstr[1] "só %d campos no conteúdo" msgid "bad fetch on multi key %s" msgstr "má obtenção em chave múltipla %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Base de dados %s corrompida; refaça-a com mando --create" @@ -76,28 +76,28 @@ msgstr "Base de dados %s corrompida; refaça-a com mando --create" msgid "warning: %s has no version identifier\n" msgstr "aviso: %s não tem identificador de versão\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "aviso: %s 'versão %s, esperada %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatal: impossível inserir identificador de versão em %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[BASE DE DADOS MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "A base de dados man predefinida é %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "emite mensagens de depuração" @@ -106,44 +106,44 @@ msgstr "emite mensagens de depuração" msgid "can't open %s for reading" msgstr "Impossível abrir %s para leitura" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SECÇÃO...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "CAMINHO" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "define caminho para páginas do manual para CAMINHO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FICHEIRO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "usa este ficheiro de configuração do utilizador" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "comando man falhou com estado de saída %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "impossível ler base de dados %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "Conteúdo NULL para chave: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "A actualizar ficheiros cat para a secção %s da hierarquia man %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "impossível escrever dentro de %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "impossível actualizar %s" @@ -167,67 +167,67 @@ msgstr "impossível actualizar %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "aviso: %s/man%s/%s.%s*: extensões concorrentes" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "impossível actualizar a cache de índice %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "aviso: %s: má ligação simbólica ou pedido ROFF \".so\"" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "aviso: %s: a ignorar ficheiro vazio" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "aviso: %s: falha na análise whatis para %s(%s)" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "impossível procurar na pasta %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "impossível chown %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "aviso: impossível criar catdir %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "impossível chmod %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "impossível mudar para a pasta %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "impossível criar cache de índice %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "A actualizar cache de índice para caminho \"%s/%s\". Aguarde..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "feito.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "A purgar entradas da base de dados antigas em %s...\n" @@ -242,49 +242,49 @@ msgstr "aviso: falha ao armazenar entrada para %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "aviso: %s: a ignorar nome de ficheiro fictício" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "CAMINHO SECÇÃO NOME" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EXTENSÃO" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "limita procura a extensão de tipo EXTENSÃO" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "procura páginas sem diferenciar maiúsculas (predefinição)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "procura páginas diferenciando maiúsculas" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "interpreta o nome da página como regex" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "o nome da página contém caracteres universais" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "aviso: whatis para %s excede %d byte, a truncar" msgstr[1] "aviso: whatis para %s excede %d bytes, a truncar." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "impossível abrir %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FICHEIRO..." @@ -382,7 +382,7 @@ msgstr "imprime página fonte codificada em CODIFICAÇÃO" msgid "Finding manual pages:" msgstr "Procurar páginas do manual:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "IDIOMA" @@ -390,15 +390,15 @@ msgstr "IDIOMA" msgid "define the locale for this particular man search" msgstr "define o idioma para esta procura man em particular" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SISTEMA" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "usa páginas do manual de outros sistemas" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTA" @@ -513,78 +513,78 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "usa o groff e força-o a produzir ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Sem entrada de manual para %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(em alternativa, que página do manual deseja para a secção %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Que página do manual deseja?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Sem entrada de manual para %s na secção %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" "Veja \"%s\" para ajuda quando as páginas do manual não estão disponíveis.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "a ignorar pré-processador \"%c\" desconhecido" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "impossível renomear %s para %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "impossível definir horas em %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "impossível desligar %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "impossível criar cat temporário para %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "impossível criar pasta temporária" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "impossível abrir ficheiro temporário %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "impossível remover pasta %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- seguinte: %s [ ver (return) | saltar (Ctrl-D) | sair (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -593,27 +593,27 @@ msgstr "" "\n" "impossível escrever em %s em modo catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Impossível converter %s para nome cat" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: confiar em refs whatis está obsoleto\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "comando mandb falhou com estado de saída %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "erro interno: tipo de candidato %d fora do intervalo" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Página do manual " @@ -646,7 +646,7 @@ msgstr "CÓDIGO" msgid "encoding for output" msgstr "codificação para saída" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "produz menos avisos" @@ -660,101 +660,101 @@ msgstr "tem de especificar uma codificação de entrada" msgid "must specify an output encoding" msgstr "tem de especificar uma codificação de saída" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[CAMINHOMAN]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "trabalha em silêncio, excepto para aviso \"fictício\"" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "não procura ou adiciona cats perdidos às bases de dados" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "não purga entradas obsoletas das bases de dados" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "produz só bases de dados do utilizador" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "cria bases de dados de raiz, em vez de actualizar" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "verificar páginas do manual por correcção" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NOMEFICHEIRO" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "actualiza só a entrada para este nome de ficheiro" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "impossível remover %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "impossível escrever em %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "impossível ler de %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "A processar páginas do manual sob %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "A remover pasta cat obsoleta %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "aviso: sem directivas MANDB_MAP em %s, a usar o seu manpath" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d sub-pasta man continha páginas do manual mais recentes.\n" msgstr[1] "%d sub-pastas man continham páginas do manual mais recentes.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d página do manual adicionada.\n" msgstr[1] "%d páginas do manual adicionadas.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d cat perdido adicionado.\n" msgstr[1] "%d cats perdidos adicionados.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d entrada de base de dados antiga purgada.\n" msgstr[1] "%d entradas de base de dados antigas purgadas.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Não se criaram bases de dados." @@ -829,15 +829,15 @@ msgstr "impossível determinar a pasta actual" msgid "warning: %s does not begin with %s" msgstr "aviso: %s não começa com %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "mostrar catpaths relativos" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "mostrar todo o manpath global" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "aviso: sem manpath globais definidos no ficheiro de configuração %s" @@ -867,96 +867,96 @@ msgstr "aviso: impossível actualizar a cache de índice %s" msgid "%s is self referencing" msgstr "%s referencia-se a si própria" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "PALAVRA-CHAVE..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "A opção --regex está activa por predefinição." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "imprime mensagens de aviso verbosas" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interpreta cada palavra-chave como regex" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "procura cada palavra-chave por correspondência exacta" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "as palavras-chave contêm caracteres universais" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "requer que todas as palavra-chave correspondam" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "não cortar saída para a largura do terminal" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "procurar só nestas secções (separado por dois-pontos)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "define o idioma para esta procura" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s o quê?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "aviso: %s contém um ciclo de ponteiro" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(assunto desconhecido)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nada apropriado.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: pedidos .so aninhados demais ou são recursivos" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: aviso: pedido .so falhou" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: aviso: newline em pedido .so, a ignorar" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: aviso: pedido .lf mal formado, a ignorar" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: avido: newline em pedido .lf, a ignorar" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: aspa não terminada em pedido roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "troca de compatibilidade (ignorada)" diff --git a/po/pt_BR.po b/po/pt_BR.po index 309fd621..c6817aaa 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2018-02-02 17:02-0200\n" "Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n" "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge." @@ -72,7 +72,7 @@ msgstr[1] "apenas %d campos no conteúdo" msgid "bad fetch on multi key %s" msgstr "busca ruim na multichave %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Banco de dados %s corrompido; reconstrua-o com mandb --create" @@ -82,28 +82,28 @@ msgstr "Banco de dados %s corrompido; reconstrua-o com mandb --create" msgid "warning: %s has no version identifier\n" msgstr "aviso: %s não possui identificador de versão\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "aviso: %s é versão %s, esperava-se %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatal: não foi possível de inserir o identificador de versão em %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[BANDO-DE-DADOS MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "O banco de dados man tem como padrão %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "emite mensagens de depuração" @@ -112,44 +112,44 @@ msgstr "emite mensagens de depuração" msgid "can't open %s for reading" msgstr "não foi possível abrir %s para leitura" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[SEÇÃO...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "CAMINHO" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "define o caminho de pesquisa por páginas de manual com CAMINHO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "ARQUIVO" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "usa esse arquivo de configuração de usuário" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "o comando man falhou com estado de saída %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "não foi possível ler o banco de dados %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "conteúdo NULL para a chave: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -158,12 +158,12 @@ msgstr "" "\n" "Atualizando arquivos cat para seção %s da hierarquia man %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "não foi possível escrever dentro de %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "não foi possível de atualizar %s" @@ -173,67 +173,67 @@ msgstr "não foi possível de atualizar %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "aviso: %s/man%s/%s.%s*: extensões conflitantes" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "não foi possível atualizar cache de índice %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "aviso: %s: link simbólico ruim ou requisição \".so\" ROFF" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "aviso: %s: ignorando arquivo vazio" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "aviso: %s: análise por whatis para %s(%s) falhou" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "não foi possível pesquisar no diretório %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "não foi possível fazer chown em %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "aviso: não foi possível criar o catdir %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "não foi possível fazer chmod em %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "não foi possível mudar para o diretório %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "não foi possível criar cache de índice %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Atualizando o cache de índice para o caminho \"%s/%s\". Aguarde..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "feito.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Descartando entradas antigas de banco de dados em %s...\n" @@ -248,49 +248,49 @@ msgstr "aviso: falha ao armazenar entradas para %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "aviso: %s: ignorando nome de arquivo inválido" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "CAMINHO SEÇÃO NOME" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EXTENSÃO" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "limita a pesquisa ao tipo de extensão EXTENSÃO" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "procura por páginas sem diferenciar maiúsculo de minúsculo (padrão)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "procura por páginas diferenciando maiúsculo de minúsculo" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "interpreta o nome da páginas como uma expressão regular" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "o nome da página contém caracteres curingas" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "aviso: whatis para %s excede %d byte, truncando." msgstr[1] "aviso: whatis para %s excede %d bytes, truncando." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "não foi possível abrir %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "ARQUIVO..." @@ -388,7 +388,7 @@ msgstr "emite a página fonte codificada em CODIFICAÇÃO" msgid "Finding manual pages:" msgstr "Localizando as páginas de manual:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOCALIDADE" @@ -396,15 +396,15 @@ msgstr "LOCALIDADE" msgid "define the locale for this particular man search" msgstr "define a localidade para esta pesquisa de man em particular" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SISTEMA" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "usa páginas de manual para outros sistemas" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTA" @@ -519,78 +519,78 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "usa groff e força-o a produzir ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Nenhuma entrada de manual para %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Alternativamente, qual a página de manual desejada da seção %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Qual a página de manual desejada?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Nenhuma entrada de manual para %s na seção %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" "Veja \"%s\" para ajuda quando as páginas de manual não estiverem " "disponíveis.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "ignorando pré-processador desconhecido \"%c\"" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "não foi possível renomear %s para %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "não foi possível definir os horários de %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "não foi possível remover o link %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "não foi possível criar o cat temporário para %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "não foi possível criar o diretório temporário" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "não foi possível abrir o arquivo temporário %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "não foi possível remover o diretório %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "--Man-- próxima: %s [ ver (Enter) | pular (Ctrl-D) | sair (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -599,27 +599,27 @@ msgstr "" "\n" "não foi possível escrever em %s no modo catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Não foi possível converter %s para um nome cat" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: o uso de whatis refs está obsoleto\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "o comando mandb falhou com status de saída %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "erro interno: tipo de candidato %d fora da faixa" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Página de manual " @@ -652,7 +652,7 @@ msgstr "CÓDIGO" msgid "encoding for output" msgstr "codificação para a saída" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "produz menos avisos" @@ -666,101 +666,101 @@ msgstr "deve-se especificar uma codificação de entrada" msgid "must specify an output encoding" msgstr "deve-se especificar uma codificação de saída" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[CAMINHO-MAN]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "trabalha silenciosamente, exceto para aviso de erro" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "não procura ou adiciona cats errantes aos bancos de dados" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "não descarta entradas obsoletas dos bancos de dados" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "produz apenas bancos de dados de usuário" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "cria banco de dados do zero, ao invés de atualizá-los" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "verifica a exatidão de páginas de manual" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "NOME-DE-ARQUIVO" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "atualiza apenas a entrada deste nome de arquivo" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "não foi possível remover %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "não posso escrever em %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "não foi possível ler de %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Processando as páginas de manual sob %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Removendo diretório cat obsoleto %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "aviso: nenhuma diretiva MANDB_MAP em %s, usando o seu caminho man" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d subdiretório man continha páginas de manual novas.\n" msgstr[1] "%d subdiretórios man continham páginas de manual novas.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d página de manual foi adicionada.\n" msgstr[1] "%d páginas de manual foram adicionadas.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d cat errante foi adicionado.\n" msgstr[1] "%d cats errantes foram adicionados.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d entrada antiga no banco de dados foi descartada.\n" msgstr[1] "%d entradas antigas no banco de dados foram descartadas.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Nenhum banco de dados criado." @@ -835,15 +835,15 @@ msgstr "não foi possível determinar o diretório atual" msgid "warning: %s does not begin with %s" msgstr "aviso: %s não começa com %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "mostra caminhos cat relativos" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "mostra o caminho man global inteiro" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -874,97 +874,97 @@ msgstr "aviso: não foi possível atualizar o cache de índice %s" msgid "%s is self referencing" msgstr "%s referencia a si mesmo" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "PALAVRA-CHAVE..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "A opção --regex está habilitada por padrão." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "emite mensagens de aviso detalhadas" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "interpreta cada palavra-chave como uma expressão regular" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "pesquisa cada palavra-chave por correspondência exata" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "a(s) palavra-chave(s) não podem conter caracteres coringas" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "exige correspondência de todas as palavra-chaves" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "não corta a saída para a largura do terminal" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "pesquisa apenas nestas seções (separadas por dois-pontos)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "define a localidade para esta pesquisa" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s o quê?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "aviso: %s contém um laço de ponteiros" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(assunto desconhecido)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nada apropriado.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "" "%s:%d: requisições de .so aninhadas com muita profundidade ou são recursivas" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: aviso: requisição .so falhou" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: aviso: nova-linha na requisição de .so, ignorando" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: aviso: requisição de .lf malformada, ignorando" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: aviso: nova-linha na requisição de .lf, ignorando" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: aspas não terminadas na requisição de roff" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "troca de compatibilidade (ignorado)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.4.2-pre1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2003-10-27 08:40+0200\n" "Last-Translator: Eugen Hoanca <eugenh@urban-grafx.ro>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" @@ -63,7 +63,7 @@ msgstr[1] "numai %d cmpuri n coninut" msgid "bad fetch on multi key %s" msgstr "aducere(fetch) incorect n multi chei %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Baza de date %s e corupt; reconstruii cu mandb --create" @@ -73,28 +73,28 @@ msgstr "Baza de date %s e corupt; reconstruii cu mandb --create" msgid "warning: %s has no version identifier\n" msgstr "avertisment: %s nu are identificator de versiune\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "avertisment: %s este versiunea %s, se atepta %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "fatal: nu se poate insera identificatorul de versiune n %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "" -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "" @@ -103,45 +103,45 @@ msgstr "" msgid "can't open %s for reading" msgstr "nu se poate deschide %s pentru citire" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 #, fuzzy msgid "use this user configuration file" msgstr "nu se poate deschide fiierul de configurare al cii de man %s" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "comanda man a euat cu stare de ieire %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "nu se poate citi baza de date %s." -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "coninut NULL pentru cheia: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -150,12 +150,12 @@ msgstr "" "\n" "Se nnoiesc(update) fiierele cat pentru seciunea %s a ierarhiei man %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "nu se poate scrie n %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "nu se poate nnoi(update) %s" @@ -165,67 +165,67 @@ msgstr "nu se poate nnoi(update) %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "avertisment: %s/man%s/%s.%s*: extensii concurente" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "nu se poate nnoi(update) index cache %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "avertisment: %s: symlink eronat sau cerere ROFF `.so'" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "avertisment: %s: se ignor fiierul vid." -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "avertisment: %s: analiza(parse) whatis pentru %s(%s) euat" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "nu se poate cuta directorul %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "nu se poate face chown pe %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "avertisment: nu se poate crea catdir %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "nu se poate face chmod pe %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "nu se poate schimba n directorul %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "nu se poate crea index cache-ului %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Se nnoiete(update) index cache-ul pentru calea `%s%s'. Ateptai..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "efectuat.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Se cur(purge) intrrile vechi ale bazei de date n %s...\n" @@ -240,49 +240,49 @@ msgstr "avertisment: am euat n depozitarea intrrii pentru %s (%s)" msgid "warning: %s: ignoring bogus filename" msgstr "avertisment: %s: se ignor numele de fiier fals(bogus)" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, fuzzy, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "avertisment: whatis pentru %s depete %d octei, se trunchiaz." msgstr[1] "avertisment: whatis pentru %s depete %d octei, se trunchiaz." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "nu se poate deschide %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "" @@ -381,7 +381,7 @@ msgstr "" msgid "Finding manual pages:" msgstr " Pagin de manual " -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "" @@ -389,15 +389,15 @@ msgstr "" msgid "define the locale for this particular man search" msgstr "" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "" @@ -505,79 +505,79 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, fuzzy, c-format msgid "No manual entry for %s\n" msgstr "Nu exist intrare n manual pentru %s" -#: src/man.c:599 +#: src/man.c:601 #, fuzzy, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "Ce pagin de manual dorii din seciunea %s?\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Ce pagin de manual dorii?\n" -#: src/man.c:730 +#: src/man.c:732 #, fuzzy, c-format msgid "No manual entry for %s in section %s\n" msgstr "Nu exist intrare n manual pentru %s" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "" "Citii `%s' pentru ajutor n caz c paginile de manual nu sunt disponibile.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "se ignor preprocesorul necunoscut `%c'" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "nu se poate redenumi %s n %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "nu se poate seta timpul pe %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "nu se poate scoate linkul(unlink) la %s" -#: src/man.c:1803 +#: src/man.c:1805 #, fuzzy, c-format msgid "can't create temporary cat for %s" msgstr "nu se poate crea un nume de fiier temporar" -#: src/man.c:1913 +#: src/man.c:1915 #, fuzzy, c-format msgid "can't create temporary directory" msgstr "nu se poate crea un nume de fiier temporar" -#: src/man.c:1924 +#: src/man.c:1926 #, fuzzy, c-format msgid "can't open temporary file %s" msgstr "nu se poate deschide fiierul de configurare al cii de man %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "nu se poate terge directorul %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- urmtor: %s [ vizualizare (return) | omitere (Ctrl-D) | ieire (Ctrl-" "C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -586,27 +586,27 @@ msgstr "" "\n" "nu se poate scrie n %s n modul catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Nu pot converti %s n nume cat" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: ncrederea n referinele whatis este nvechit\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "comanda mandb a euat cu stare de ieire %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "eroare intern: candidatul tip %d depete domeniul" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Pagin de manual " @@ -639,7 +639,7 @@ msgstr "" msgid "encoding for output" msgstr "" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "" @@ -653,75 +653,75 @@ msgstr "" msgid "must specify an output encoding" msgstr "" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "nu se poate terge %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "nu se poate scrie n %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "nu se poate citi din %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Se proceseaz paginile de manual sub %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, fuzzy, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Se verific cat-urile rtcite sub %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "avertisment: nu exist directive MANDB_MAP n %s, se folosete calea voastr " "de man" -#: src/mandb.c:920 +#: src/mandb.c:914 #, fuzzy, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -732,28 +732,28 @@ msgstr[1] "" "%d subdirectoare man conin pagini de manual noi.\n" "%d pagini de manual au fost adugate.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, fuzzy, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] " Pagin de manual " msgstr[1] " Pagin de manual " -#: src/mandb.c:929 +#: src/mandb.c:923 #, fuzzy, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d cat-uri rtcite au fost adugate.\n" msgstr[1] "%d cat-uri rtcite au fost adugate.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, fuzzy, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d intrri vechi n baza de date au fost eliminate.\n" msgstr[1] "%d intrri vechi n baza de date au fost eliminate.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, fuzzy, c-format msgid "No databases created." msgstr "Nici o baz de date nnoit (updated)." @@ -828,15 +828,15 @@ msgstr "nu se poate determina directorul curent" msgid "warning: %s does not begin with %s" msgstr "avertisment: %s nu ncepe cu %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -867,96 +867,96 @@ msgstr "avertisment: nu se poate nnoi(update) index cache-ul %s" msgid "%s is self referencing" msgstr "%s este auto-referin(self-referencing)" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s ce?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "avertisment: %s conine o bucl pointer" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(subiect necunoscut)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: nimic potrivit.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2018-01-23 05:37+0300\n" "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" "Language-Team: Russian <gnu@d07.ru>\n" @@ -68,7 +68,7 @@ msgstr[2] "в содержимом только %d полей" msgid "bad fetch on multi key %s" msgstr "неверная выборка по многомерному ключу %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "База данных %s повреждена; пересборка командой mandb --create" @@ -78,28 +78,28 @@ msgstr "База данных %s повреждена; пересборка ко msgid "warning: %s has no version identifier\n" msgstr "предупреждение: %s не имеет идентификатора версии\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "предупреждение: %s имеет версию %s, а ожидается %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "неустранимая ошибка: не удалось вставить идентификатор версии в %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[БАЗА ДАННЫХ MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "По умолчанию база данных man расположена в %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "показывать сообщения отладки" @@ -108,44 +108,44 @@ msgstr "показывать сообщения отладки" msgid "can't open %s for reading" msgstr "не удалось открыть %s на чтение" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[СЕКЦИЯ...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "ПУТЬ" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "установить путь поиска справочных страниц в значение ПУТЬ" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "ФАЙЛ" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "использовать указанный пользовательских файл настроек" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "команда man завершилась неудачно (код выхода %d)" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "не удалось прочитать базу данных %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "содержимое ключа равно NULL: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -154,12 +154,12 @@ msgstr "" "\n" "Обновление cat файлов в разделе %s man иерархии %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "не удалось записать в %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "не удалось обновить %s" @@ -169,68 +169,68 @@ msgstr "не удалось обновить %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "предупреждение: %s/man%s/%s.%s*: конкурирующие расширения" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "не удалось обновить индексный кэш %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "" "предупреждение: %s: неверная символическая ссылка или запрос ROFF `.so'" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "предупреждение: %s: игнорируется пустой файл" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "предупреждение: %s: whatis анализ %s(%s) не удался" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "не удалось найти каталог %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "не удалось выполнить функцию chown %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "предупреждение: не удалось создать cat каталог %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "не удалось выполнить функцию chmod %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "не удалось сменить каталог на %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "не удалось создать индексный кэш %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Обновление индексного кэша для пути `%s/%s'. Ждите..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "завершено.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Удаление старых записей базы данных в %s...\n" @@ -245,35 +245,35 @@ msgstr "предупреждение: не удалось сохранить з msgid "warning: %s: ignoring bogus filename" msgstr "предупреждение: %s: игнорируется фальшивое имя файла" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "ПУТЬ СЕКЦИЯ ИМЯ" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "РАСШИРЕНИЕ" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "искать только с заданным РАСШИРЕНИЕМ" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "не учитывать регистр при поиске (по умолчанию)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "учитывать регистр при поиске" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "считать имя страницы регулярным выражением" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "имя страницы содержит групповые символы" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." @@ -284,14 +284,14 @@ msgstr[1] "" msgstr[2] "" "предупреждение: результат whatis для %s превысил %d байт, обрезается." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "не удалось открыть %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "ФАЙЛ..." @@ -389,7 +389,7 @@ msgstr "вывести исходную страницу в КОДИРОВКЕ" msgid "Finding manual pages:" msgstr "Поиск справочных страниц:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "ЛОКАЛЬ" @@ -397,15 +397,15 @@ msgstr "ЛОКАЛЬ" msgid "define the locale for this particular man search" msgstr "задать локаль для поиска" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "СИСТЕМА" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "использовать справочные страницы от других систем" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "СПИСОК" @@ -519,77 +519,77 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "использовать groff и заставить его генерировать ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Нет справочной страницы для %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Или же, какая именно из справочных страниц раздела %s вам нужна?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Какая справочная страница вам нужна?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Нет справочной страницы для %s в разделе %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Смотрите '%s' в справке, если недоступны справочные страницы.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "игнорирование неизвестного препроцессора `%c'" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "не удалось переименовать %s в %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "не удалось установить время доступа для %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "не удалось выполнить функцию unlink %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "не удалось создать временный cat файл %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "не удалось создать временный каталог" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "не удалось открыть временный файл %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "не удалось удалить каталог %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- след: %s [ просм (ввод) | пропуск (Ctrl-D) | выход (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -598,27 +598,27 @@ msgstr "" "\n" "не удалось записать в %s в режиме catman" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Не удалось преобразовать %s в cat имя" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: полагаться на ссылки whatis настоятельно не рекомендуется\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "команда mandb завершилась неудачно (код выхода %d)" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "внутренняя ошибка: тип кандидата %d вне диапазона" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Справочная страница " @@ -651,7 +651,7 @@ msgstr "КОДИРОВКА" msgid "encoding for output" msgstr "кодировка вывода" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "выводить некоторые предупреждения" @@ -665,73 +665,73 @@ msgstr "должна быть указана кодировка входных msgid "must specify an output encoding" msgstr "должна быть указана кодировка выходных данных" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANPATH]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "не выводить сообщения, за исключением 'фиктивных' предупреждений" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "не искать или добавлять побочные cat в dbs" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "не вычищать устаревшие записи из dbs" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "создать только пользовательские базы данных" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "создать dbs с нуля, а не обновлять" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "проверить справочные страницы на правильность" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "ИМЯ-ФАЙЛА" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "обновить запись только для этого файла" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "не удалось удалить %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "не удалось записать в %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "не удалось прочитать из %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Обработка справочных страниц в %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Удаляется устаревший каталог cat %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "предупреждение: нет директивы MANDB_MAP в %s, используется ваш manpath" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -739,7 +739,7 @@ msgstr[0] "В %d man-подкаталоге содержатся более но msgstr[1] "В %d man-подкаталогах содержатся более новые справочные страницы.\n" msgstr[2] "В %d man-подкаталогах содержатся более новые справочные страницы.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" @@ -747,7 +747,7 @@ msgstr[0] "Добавлена %d справочная страница.\n" msgstr[1] "Добавлено %d справочные страницы.\n" msgstr[2] "Добавлено %d справочных страниц.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" @@ -755,7 +755,7 @@ msgstr[0] "Добавлена %d побочная cat-страница.\n" msgstr[1] "Добавлено %d побочные cat-страницы.\n" msgstr[2] "Добавлено %d побочных cat-страниц.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" @@ -763,7 +763,7 @@ msgstr[0] "Вычищена %d старая запись базы данных.\ msgstr[1] "Вычищено %d старые записи базы данных.\n" msgstr[2] "Вычищено %d старых записей базы данных.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Базы данных не созданы." @@ -840,15 +840,15 @@ msgstr "не удалось определить текущий каталог" msgid "warning: %s does not begin with %s" msgstr "предупреждение: %s не начинается с %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "показать относительные catpath" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "показать весь глобальный manpath" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "предупреждение: не установлены глобальные manpath в файле настроек %s" @@ -878,97 +878,97 @@ msgstr "предупреждение: не удалось обновить ин msgid "%s is self referencing" msgstr "%s ссылается на себя" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "КЛЮЧ..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Параметр --regex включён по умолчанию." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "выводить подробные предупреждающие сообщения" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "считать каждый ключ регулярным выражением" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "искать точное совпадения каждого ключа" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "ключ(и) содержит групповые символы" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "требуется совпадение всех ключей" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "не обрезать вывод по ширине терминала" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "искать только в этих секциях (разделяются двоеточиями)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "задать локаль для этого поиска" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s что?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "warning: %s содержит циклический указатель" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(неизвестный объект)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: ничего подходящего не найдено.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: .so запрашивает слишком глубокую вложенность или это рекурсия" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: предупреждение: .so запрос завершился неудачно" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: предупреждение: новая строка в .so запросе, игнорируется" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "" "%s:%d: предупреждение: неправильно сформированный .lf запрос, игнорируется" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: предупреждение: новая строка в .lf запросе, игнорируется" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: незакрытая кавычка в roff запросе" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "для совместимости (игнорируется)" @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2016-12-18 06:38+0200\n" "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n" "Language-Team: Serbian <(nothing)>\n" @@ -66,7 +66,7 @@ msgstr[2] "само %d поља у садржају" msgid "bad fetch on multi key %s" msgstr "лоша набавка на вишеструком кључу „%s“" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "База података „%s“ је оштећена; изградите поново са „mandb --create“" @@ -76,28 +76,28 @@ msgstr "База података „%s“ је оштећена; изгради msgid "warning: %s has no version identifier\n" msgstr "упозорење: „%s“ нема одредника издања\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "упозорење: „%s“ је у издању %s, очекивах %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "кобно: не могу да уметнем одредника издања у „%s“" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[БАЗА ПОДАТАКА МАН-а]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "База података мана се пребацује на %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "исписује поруке за исправљање грешака" @@ -106,44 +106,44 @@ msgstr "исписује поруке за исправљање грешака" msgid "can't open %s for reading" msgstr "не могу да отворим „%s“ за читање" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[ОДЕЉАК...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "ПУТАЊА" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "поставља путању претраге за странице упутства на ПУТАЊУ" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "ДАТОТЕКА" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "користи ову корисничку датотеку подешавања" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "наредба мана није успела са излазним стањем „%d“" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "не могу да прочитам базу података „%s“" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "НИШТАВАН садржај за кључ: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "Ажурирам кат датотеке за одељак %s манове хијерархије %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "не могу да пишем у „%s“" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "не могу да ажурирам „%s“" @@ -167,67 +167,67 @@ msgstr "не могу да ажурирам „%s“" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "упозорење: %s/man%s/%s.%s*: конкурентна проширења" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "не могу да ажурирам оставу индекса „%s“" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "упозорење: %s: лоша симболичка веза или РОФФ „.so“ захтев" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "упозорење: %s: занемарујем празну датотеку" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "упозорење: %s: није успела обрада шта-је за %s(%s)" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "не могу да претражим директоријум „%s“" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "не могу да променим власника „%s“" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "упозорење: не могу да направим катдир „%s“" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "не могу да променим режим „%s“" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "не могу да пређем у директоријум „%s“" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "не могу да направим оставу индекса „%s“" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Ажурирам оставу индекса за путању „%s/%s“. Сачекајте..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "готово.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Избацујем старе уносе базе података у „%s“...\n" @@ -242,35 +242,35 @@ msgstr "упозорење: нисам успео да ускладиштим у msgid "warning: %s: ignoring bogus filename" msgstr "упозорење: %s: занемарујем нетачан назив датотеке" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "ПУТАЊА ОДЕЉАК НАЗИВ" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "ПРОШИРЕЊЕ" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "ограничава претрагу на врсту проширења ПРОШИРЕЊЕ" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "тражи странице без обзира на величину слова (основно)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "тражи странице с обзиром на величину слова" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "тумачи назив странице као регуларни израз" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "назив странице садржи џокере" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." @@ -278,14 +278,14 @@ msgstr[0] "упозорење: шта-је за „%s“ премашује %d msgstr[1] "упозорење: шта-је за „%s“ премашује %d бајта, скраћујем." msgstr[2] "упозорење: шта-је за „%s“ премашује %d бајтова, скраћујем." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "не могу да отворим „%s“" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "ДАТОТЕКА..." @@ -383,7 +383,7 @@ msgstr "излазна страница извора је кодирана у К msgid "Finding manual pages:" msgstr "Проналажење страница упутства:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "ЈЕЗИК" @@ -391,15 +391,15 @@ msgstr "ЈЕЗИК" msgid "define the locale for this particular man search" msgstr "одређује језик за ову нарочиту претрагу мана" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "СИСТЕМ" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "користи странице упутства са других система" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "СПИСАК" @@ -513,78 +513,78 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "користи гроф и приморава га да произведе дитроф" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Нема уноса упутства за „%s“\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Илити, коју страницу упутства желите из одељка %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Коју страницу упутства желите?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Нема уноса упутства за „%s“ у одељку %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Погледајте „%s“ за помоћ када странице упутства нису доступне.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "занемарујем неознати препроцесор „%c“" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "не могу да преименујем „%s“ у „%s“" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "не могу да подесим времена на „%s“" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "не могу да развежем „%s“" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "не могу да направим привремени кат за „%s“" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "не могу да направим привремени директоријум" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "не могу да отворим привремену датотеку „%s“" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "не могу да уклоним директоријум „%s“" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Ман-- следеће: %s [ преглед (повратница) | прескочи (Ктрл-Д) | изађи (Ктрл-" "Ц) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -593,27 +593,27 @@ msgstr "" "\n" "не могу да пишем у „%s“ у катман режиму" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Не могу да претворим „%s“ у кат назив" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: ослањање на упуте шта-је је застарело\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "наредба мандб није успела са излазним стањем „%d“" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "унутрашња грешка: врста кандидата „%d“ је ван опсега" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Страница упутства " @@ -646,7 +646,7 @@ msgstr "КОД" msgid "encoding for output" msgstr "кодирање за излаз" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "производи мања упозорења" @@ -660,73 +660,73 @@ msgstr "морате навести кодирање улаза" msgid "must specify an output encoding" msgstr "морате навести кодирање излаза" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[МАНПУТАЊА]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "ради тихо, осим за „bogus“ упозорење" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "не тражи или не додаје залутале катсе у базе података" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "не избацује застареле уносе из база података" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "производи само корисничке базе података" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "прави базе података од почетка, уместо да их освежава" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "проверава странице упутства за исправношћу" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "ДАТОТЕКА" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "ажурира само унос за ову датотеку" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "не могу да уклоним „%s“" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "не могу да пишем у „%s“" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "не могу да читам из „%s“" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Обрађујем странице упутства под „%s“...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Уклањам застареле кат директоријуме „%s“...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "упозорење: нема МАНБП_МАП смерница у „%s“, користим вашу ман-путању" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -734,7 +734,7 @@ msgstr[0] "%d ман подиректоријум је садржао новиј msgstr[1] "%d ман подиректоријума су садржала новије странице упутства.\n" msgstr[2] "%d ман подиректоријума је садржало новије странице упутства.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" @@ -742,7 +742,7 @@ msgstr[0] "%d страница упутства је додата.\n" msgstr[1] "%d странице упутства су додате.\n" msgstr[2] "%d страница упутства је додато.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" @@ -750,7 +750,7 @@ msgstr[0] "%d залутали кат је додат.\n" msgstr[1] "%d залутала ката су додата.\n" msgstr[2] "%d залуталих катова је додато.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" @@ -758,7 +758,7 @@ msgstr[0] "%d стари унос базе података је избачен. msgstr[1] "%d стара уноса базе података су избачена.\n" msgstr[2] "%d старих уноса базе података је избачено.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Нису направљене базе података." @@ -833,15 +833,15 @@ msgstr "не могу да одредим текући директоријум" msgid "warning: %s does not begin with %s" msgstr "упозорење: „%s“ не почиње са „%s“" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "показује односне катпутање" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "показује читаву општу манпутању" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "упозорење: нису подешене опште манпутање у датотеци подешавања „%s“" @@ -871,96 +871,96 @@ msgstr "упозорење: не могу да ажурирам оставу и msgid "%s is self referencing" msgstr "„%s“ је само упутна" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "КЉУЧНА РЕЧ..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Опција „--regex“ је унапред изабрана." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "исписује опширне поруке упозорења" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "тумачи сваку кључну реч као регуларни израз" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "тражи сваку кључну реч за тачним поклапањем" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "кључна реч садржи џокера" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "захтева све кључне речи за подударање" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "не крати излаз на ширину терминала" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "претаржује само ове одељке (раздвојене двотачком)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "одређује језик за ову претрагу" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s шта?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "упозорење: „%s“ садржи петљу показивача" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(непознат субјекат)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: ништа одговарајуће.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: „.so“ захтеви су угнежђени превише дубоко или су дубински" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: упозорење: није успео „.so“ захтев" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: упозорење: нови ред у „.so“ захтеву, занемарујем" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: упозорење: лош „.lf“ захтев, занемарујем" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: упозорење: нови ред у „.lf“ захтеву, занемарујем" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: неокончани цитат у роф захтеву" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "пребацивање сагласности (занемарено)" @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2017-01-05 01:35+0100\n" "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n" "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n" @@ -68,7 +68,7 @@ msgstr[1] "endast %d fält i innehåll" msgid "bad fetch on multi key %s" msgstr "felaktig hämtning på multinyckel %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "Databasen %s är skadad; bygg om med mandb --create" @@ -78,29 +78,29 @@ msgstr "Databasen %s är skadad; bygg om med mandb --create" msgid "warning: %s has no version identifier\n" msgstr "varning: %s har ingen versionsidentifierare\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "varning: %s är version %s, %s förväntas\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "ödesdiger: kan inte infoga versionsidentifierare i %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MANUALDATABAS]" # %s%s är en sökväg. -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Manualdatabasen är som standard %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "avge felsökningsmeddelanden" @@ -109,44 +109,44 @@ msgstr "avge felsökningsmeddelanden" msgid "can't open %s for reading" msgstr "kan inte öppna %s för läsning" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[AVSNITT…]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "SÖKVÄG" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "ställ in sökväg för manualsidor till SÖKVÄG" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "FIL" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "använd denna användarkonfigurationsfil" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "manualkommandot misslyckades med slutstatus %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "kan inte läsa databasen %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "NULL-innehåll för nyckel: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -155,12 +155,12 @@ msgstr "" "\n" "Uppdaterar cat-filer för avsnitt %s i man-hierarkin %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "kan inte skriva inom %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "kan inte uppdatera %s" @@ -170,67 +170,67 @@ msgstr "kan inte uppdatera %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "varning: %s/man%s/%s.%s*: filändelser i konflikt" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "kan inte uppdatera indexcachen %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "varning: %s: felaktig symbolisk länk eller ROFF \".so\"-begäran" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "varning: %s: ignorerar tom fil" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "varning: %s: whatis-tolkning för %s(%s) misslyckades" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "kan inte söka i katalogen %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "kan inte byta ägare på %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "varning: kan inte skapa cat-katalog %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "kan inte ändra rättigheter på %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "kan inte byta till katalogen %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "kan inte skapa indexcachen %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "Uppdaterar indexcache för sökvägen \"%s/%s\". Vänta..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "klar.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Tömmer gamla databasposter i %s...\n" @@ -245,49 +245,49 @@ msgstr "varning: misslyckades med att lagra post för %s(%s)" msgid "warning: %s: ignoring bogus filename" msgstr "varning: %s: ignorerar felaktigt filnamn" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "SÖKVÄG AVSNITT NAMN" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "ÄNDELSE" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "begränsa sökning till ändelsetyp ÄNDELSE" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "leta efter sidor skiftlägesoberoende (standard)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "leta efter sidor skiftlägesberoende" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "tolka sidnamn som ett reguljärt uttryck" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "sidnamnet innehåller jokertecken" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "varning: whatis för %s överskrider %d byte, förkortar." msgstr[1] "varning: whatis för %s överskrider %d byte, förkortar." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "kan inte öppna %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "FIL…" @@ -385,7 +385,7 @@ msgstr "mata ut källsida kodad i KODNING" msgid "Finding manual pages:" msgstr "Hittar manualsidor:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "LOKAL" @@ -393,15 +393,15 @@ msgstr "LOKAL" msgid "define the locale for this particular man search" msgstr "definiera lokalen för denna specifika manualsökning" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SYSTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "använd manualsidor från andra system" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LISTA" @@ -515,79 +515,79 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "använd groff och tvinga det att skapa ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Ingen manualpost för %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Alternativt, vilken manualsida vill du ha från avsnittet %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Vilken manualsida vill du ha?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Ingen manualpost för %s i avsnittet %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Se \"%s\" för hjälp när manualsidor inte är tillgängliga.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "ignorerar okänd preprocessor \"%c\"" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "kan inte byta namn på %s till %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "kan inte ställa in tider på %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "kan inte avlänka %s" # cat är vad? catalogue? kommandot "cat"? -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "kan inte skapa temporär cat för %s" # cat är vad? catalogue? kommandot "cat"? -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "kan inte skapa temporärkatalog" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "kan inte öppna temporärfil %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "kan inte ta bort katalogen %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "" "--Man-- nästa: %s [ visa (retur) | hoppa över (Ctrl-D) | avsluta (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -596,27 +596,27 @@ msgstr "" "\n" "kan inte skriva till %s i catman-läge" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Kan inte konvertera %s till cat-namn" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: förlitande på whatis-referenser är föråldrat\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "mandb-kommandot misslyckades med slutstatus %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "internt fel: kandidattypen %d utanför intervallet" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Manualsida " @@ -649,7 +649,7 @@ msgstr "KOD" msgid "encoding for output" msgstr "kodning för utmatning" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "producera färre varningar" @@ -663,101 +663,101 @@ msgstr "måste ange en inmatningskodning" msgid "must specify an output encoding" msgstr "måste ange en utmatningskodning" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANUALSÖKVÄG]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "arbeta tyst, förutom vid felaktig varning" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "leta inte efter eller lägg till lösa cat-sidor i databasen" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "rensa inte bort föråldrade poster från databasen" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "producera endast användardatabaser" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "skapa databaser från grunden, istället för att uppdatera dem" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "kontrollera att manualsidor är korrekta" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "FILNAMN" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "uppdatera bara posten för detta filnamn" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "kan inte ta bort %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "kan inte skriva till %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "kan inte läsa från %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Bearbetar manualsidor under %s...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Tar bort föråldrad cat-katalog %s…\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "varning: inga MANDB_MAP-direktiv i %s, använder din manualsökväg" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d manualunderkatalog innehöll nyare manualsidor.\n" msgstr[1] "%d manualunderkataloger innehöll nyare manualsidor.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d manualsida lades till.\n" msgstr[1] "%d manualsidor lades till.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d lös cat-sida lades till.\n" msgstr[1] "%d lösa cat-sidor lades till.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d gammal databaspost rensades.\n" msgstr[1] "%d gamla databasposter rensades.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Inga databaser skapade." @@ -832,15 +832,15 @@ msgstr "kan inte avgöra aktuell katalog" msgid "warning: %s does not begin with %s" msgstr "varning: %s börjar inte med %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "visa relativa cat-sökvägar" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "visa hela den globala manualsökvägen" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "varning: inga globala manualsökvägar angivna i konfigurationsfilen %s" @@ -870,96 +870,96 @@ msgstr "varning: kan inte uppdatera indexcachen %s" msgid "%s is self referencing" msgstr "%s refererar till sig själv" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "NYCKELORD…" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "--regex-flaggan är aktiverad som standard." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "skriv ut utförliga varningsmeddelanden" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "tolka varje nyckelord som ett reguljärt uttryck" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "sök efter exakt matchning för varje nyckelord" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "nyckelord(en) innehåller jokertecken" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "kräv att alla nyckelord matchar" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "justera inte utmatning till terminalbredd" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "sök endast i dessa avsnitt (kolonseparerade)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "definiera lokalen för denna sökning" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s vad?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "varning: %s innehåller en pekarslinga" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(okänt ämne)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: ingenting lämpligt.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: .so-begäran nästlade för djupt eller är rekursiva" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: varning: misslyckades med .so-begäran" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: varning: nyrad i .so-begäran, ignorerar" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: varning: felformaterad .lf-begäran, ignorerar" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: varning: nyrad i .lf-begäran, ignorerar" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: oavslutat citat i roff-begäran" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "kompatibilitetsflagga (ignorerad)" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2017-04-05 11:33+0100\n" "Last-Translator: Volkan Gezer <volkangezer@gmail.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" @@ -66,7 +66,7 @@ msgstr[1] "içerikteki sadece %d alanı" msgid "bad fetch on multi key %s" msgstr "çoklu anahtar %s bozuk getirildi" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "%s veritabanı bozuk; mandb --create ile tekrar oluşturun" @@ -76,28 +76,28 @@ msgstr "%s veritabanı bozuk; mandb --create ile tekrar oluşturun" msgid "warning: %s has no version identifier\n" msgstr "uyarı: %s sürüm tanıtıcısı yok\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "uyarı: %s sürümü %s, beklenen %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "ciddi: %s içine sürüm tanıtıcısı eklenemiyor" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MAN VERİTABANI]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Man veritabanı şuna sıfırlanıyor: %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "hata ayıklama iletilerini yay" @@ -106,44 +106,44 @@ msgstr "hata ayıklama iletilerini yay" msgid "can't open %s for reading" msgstr "%s okumak için açılamıyor" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[BÖLÜM...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "YOL" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "kılavuz sayfaları için arama yolunu YOL olarak ayarla" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "DOSYA" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "bu kullanıcı yapılandırma dosyasını kullan" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "çıkış durumu %d ile man komutu başarısız oldu" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "%s veritabanı okunamıyor" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "Anahtar için boş içerik: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -152,12 +152,12 @@ msgstr "" "\n" "man hiyerarşi %s, %s bölümü için cat dosyaları güncelleniyor\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "%s içine yazılamıyor" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "%s güncellenemiyor" @@ -167,67 +167,67 @@ msgstr "%s güncellenemiyor" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "uyarı: %s/man%s/%s.%s*: uzantıları çakışıyor" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "%s içerik önbelleği güncellenemedi" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "uyarı: %s: bozuk sembolik bağlantı veya ROFF `.so' talebi" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "uyarı: %s: boş dosya yoksayılıyor" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "uyarı: %s: %s(%s) için whatis ayıklaması başarısız" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "%s dizini aranamıyor" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "%s üzerinde chown komutu kullanılamadı" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "uyarı: catdir %s oluşturulamıyor" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "%s için chmod yapılamıyor" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "%s dizinine değiştirilemiyor" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "%s dizin önbelleği oluşturulamıyor" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "`%s/%s' yolunun dizin önbelleği güncelleniyor. Bekleyin..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "tamamlandı.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "%s içindeki eski veritabanı girdileri temizleniyor...\n" @@ -242,49 +242,49 @@ msgstr "uyarı: %s(%s) girdisini saklama başarısız oldu" msgid "warning: %s: ignoring bogus filename" msgstr "uyarı: %s: sahte dosya adı yoksayılıyor" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "YOL BÖLÜM ADI" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "UZANTI" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "aramayı UZANTI uzantı türüne sınırla" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "sayfaları harf duyarlılığı olmadan ara (öntanımlı)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "sayfaları harf duyarlılığı ile ara" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "sayfa adını düzenli ifade olarak yorumla" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "sayfa adı özel semboller içeriyor" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "uyarı: %s için whatis %d baytı aştı, kırpılıyor." msgstr[1] "uyarı: %s için whatis %d baytı aştı, kırpılıyor." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "%s açılamıyor" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "DOSYA..." @@ -384,7 +384,7 @@ msgstr "KODLAMA olarak kodlanmış çıktı kaynak dosyası" msgid "Finding manual pages:" msgstr "Kılavuz sayfalarında arama:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "YEREL" @@ -392,15 +392,15 @@ msgstr "YEREL" msgid "define the locale for this particular man search" msgstr "bu özel man araması için yereli tanımla" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "SİSTEM" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "diğer sistemlerden kılavuz sayfalarını kullan" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "LİSTE" @@ -514,76 +514,76 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "groff kullan ve ditroff üretmesi için zorla" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Şunun için kılavuz girdisi yok: %s\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Ek olarak, %s bölümünden hangi kılavuz sayfasını istersiniz?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Hangi kılavuz sayfasını istersiniz?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "%s için %s bölümünde kılavuz girdisi yok\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Kılavuz sayfaları mevcut olmadığında yardım için bkz. '%s'.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "bilinmeyen ön işleyici yoksayılıyor `%c'" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "%s, %s olarak adlandırılamıyor" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "%s üzerinde zamanlar ayarlanamıyor" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "%s bağlantısı kaldırılamıyor" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "%s için geçici kategori oluşturulamıyor" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "geçici dizin oluşturulamıyor" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "%s geçici dosyası açılamıyor" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "%s dizini kaldırılamıyor" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "--Man-- sonraki: %s [ bak (enter) | atla (Ctrl-D) | çık (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -592,27 +592,27 @@ msgstr "" "\n" "catman kipinde %s içine yazılamıyor" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "%s cat adına dönüştürülemiyor" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: whatis refs'e dayanmak artık kullanılmıyor\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "mandb komutu %d çıktı durumu ile başarısız oldu" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "dahili hata: aday türü %d aralık dışında" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr "Kılavuz sayfası" @@ -645,7 +645,7 @@ msgstr "KOD" msgid "encoding for output" msgstr "çıktı için kodlama" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "daha az uyarı üret" @@ -659,102 +659,102 @@ msgstr "bir girdi kodlaması belirtilmeli" msgid "must specify an output encoding" msgstr "bir çıktı kodlaması belirtilmeli" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANYOLU]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "'sahte' uyarılar hariç sessiz çalış" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "veritabanlarında stray cat arama veya ekleme" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "veritabanlarından gereksiz girdileri budama" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "sadece kullanıcı veritabanlarını üret" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "veritabanlarını güncellemek yerine sıfırdan üret" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "doğrulukları için kılavuz sayfalarını denetle" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "DOSYAADI" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "bu dosya adı için sadece girdiyi güncelle" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "%s kaldırılamıyor" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "%s ögesine yazılamıyor" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "%s ögesinden okunamıyor" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "%s altındaki kılavuz sayfaları işleniyor...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "%s gereksiz cat dizini kaldırılıyor...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "uyarı: %s içinde MANDB_MAP yönergesi yok, yazdığınız manpath kullanılıyor" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d man alt dizini daha yeni kılavuz sayfaları içeriyor.\n" msgstr[1] "%d man alt dizini daha yeni kılavuz sayfaları içeriyor.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d kılavuz sayfası eklendi.\n" msgstr[1] "%d kılavuz sayfası eklendi.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d stray cat eklendi.\n" msgstr[1] "%d stray cat eklendi.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d eski veritabanı girdisi budandı.\n" msgstr[1] "%d eski veritabanı girdisi budandı.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Hiç veritabanı oluşturulmadı." @@ -829,15 +829,15 @@ msgstr "geçerli dizine karar verilemiyor" msgid "warning: %s does not begin with %s" msgstr "uyarı: %s, %s ile başlamıyor" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "ilişkili catpath'leri göster" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "tüm evrensel manpath'i göster" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "uyarı: %s yapılandırma dosyasında ayarlanmış evrensel hiç manpath yok." @@ -867,96 +867,96 @@ msgstr "uyarı: %s dizin önbelleği güncellenemiyor" msgid "%s is self referencing" msgstr "%s kendini işaret ediyor" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "ANAHTARKELİME..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "--regex seçeneği öntanımlı olarak etkindir." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "ayrıntılı uyarı iletilerini göster" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "her anahtar kelimeyi düzenli ifade olarak yorumla" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "her anahtar kelimeyi tam eşleşme ile ara" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "anahtar kelime(ler) özel sembol içeriyor" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "tüm anahtar kelimelerin eşleşmesini gerektir" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "çıktıyı uçbirim genişliğine kısıtlama" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "sadece şu alanlarda ara (iki nokta ile ayrılmış)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "bu arama için dili tanımla" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s ne?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "uyarı: %s bir işaretçi döngüsü içeriyor" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(bilinmeyen konu)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: uygun bir şey yok.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: .so istekleri çok derin yuvalanmış veya içiçe çağrışım yapıyor" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: uyarı: başarısız .so isteği" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: uyarı: .so isteğinde yeni satır, yoksayılıyor" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: uyarı: bozuk .lf isteği, yoksayılıyor" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: uyarı: .lf isteği içinde yeni satır, yoksayılıyor" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: roff isteğinde kapatılmamış kesme işareti" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "uyumluluk anahtarı (yoksayıldı)" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2016-12-13 08:08+0700\n" "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n" "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n" @@ -69,7 +69,7 @@ msgstr[0] "chỉ có %d trường trong nội dung" msgid "bad fetch on multi key %s" msgstr "tiến trình gọi (fetch) sai với đa khóa %s" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "" @@ -80,28 +80,28 @@ msgstr "" msgid "warning: %s has no version identifier\n" msgstr "cảnh báo: %s không có định danh phiên bản\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "cảnh báo: %s là phiên bản %s, cần %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "lỗi nghiêm trọng: không thể chèn định danh phiên bản vào %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[CƠ SỞ DỮ LIỆU MAN]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "Cơ sở dữ liệu chính có giá trị mặc định là %s%s." -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "phát ra các thông điệp để gỡ lỗi" @@ -110,44 +110,44 @@ msgstr "phát ra các thông điệp để gỡ lỗi" msgid "can't open %s for reading" msgstr "không thể mở %s để đọc" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[PHẦN…]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "ĐƯỜNG_DẪN" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "đặt ĐƯỜNG_DẪN đường dẫn để tìm kiếm các trang hướng dẫn" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "TẬP_TIN" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "dùng tập tin cấu hình này" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "lệnh \"man\" đã thất bại với trạng thái thoát là %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "không thể đọc cơ sở dữ liệu %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "nội dung VÔ GIÁ TRỊ cho khóa: %s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -156,12 +156,12 @@ msgstr "" "\n" "Đang cập nhật các tập tin \"cat\" cho phần %s của cây phân cấp \"man\" %s\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "không thể ghi ở trong %s" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "không thể cập nhật %s" @@ -171,69 +171,69 @@ msgstr "không thể cập nhật %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "cảnh báo: \"%s/man%s/%s.%s*\": phần mở rộng cạnh tranh với nhau" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "không thể cập nhật bộ nhớ tạm mục lục %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "cảnh báo: %s: liên kết mềm sai, hoặc yêu cầu \".so\" ROFF sai" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "cảnh báo: %s: đang bỏ qua tập tin rỗng" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "" "cảnh báo: %s: việc phân tách kiểu \"whatis\" (là gì?) cho \"%s(%s)\" bị lỗi" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "không thể tìm kiếm trong danh mục %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "không thể \"chown\" (thay đổi quyền sở hữu) %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "cảnh báo: không thể tạo catdir (thư mục \"cat\") %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "không thể \"chmod\" (thay đổi chế độ đọc ghi) %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "không thể chuyển sang thư mục %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "không thể tạo bộ nhớ tạm mục lục %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "" "Đang cập nhật bộ nhớ tạm mục lục cho đường dẫn \"%s/%s\". Vui lòng chờ…" -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "hoàn tất.\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "Đang tẩy các mục tin cơ sở dữ liệu cũ trong %s…\n" @@ -248,35 +248,35 @@ msgstr "cảnh báo: gặp lỗi khi lưu trữ mục tin cho \"%s(%s)\"" msgid "warning: %s: ignoring bogus filename" msgstr "cảnh báo: %s: đang bỏ qua tên tập tin giả" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "ĐƯỜNG DẪN PHẦN TÊN" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "PHẦN_MỞ_RỘNG" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "chỉ tìm kiếm phần mở rộng kiểu PHẦN MỞ RỘNG" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "không phân biệt chữ HOA/thường khi tìm (mặc định)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "phân biệt chữ HOA/thường khi tìm" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "phiên dịch tên trang như là một biểu thức chính quy" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "tên trang chứa ký tự đại diện (? * v.v.)" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." @@ -284,14 +284,14 @@ msgstr[0] "" "cảnh báo: thông tin \"whatis\" (là gì?) cho %s vượt quá %d byte nên đang cắt " "bớt nó." -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "không thể mở %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "TẬP_TIN…" @@ -389,7 +389,7 @@ msgstr "xuất trang mã nguồn đã mã hóa bằng BẢNG_MÃ" msgid "Finding manual pages:" msgstr "Đang tìm trang hướng dẫn:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "MIỀN_ĐỊA_PHƯƠNG" @@ -397,15 +397,15 @@ msgstr "MIỀN_ĐỊA_PHƯƠNG" msgid "define the locale for this particular man search" msgstr "xác định miền địa phương cho việc tìm kiếm man đặc biệt" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "HỆ_THỐNG" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "dùng trang man từ hệ thống khác" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "DANH_SÁCH" @@ -520,76 +520,76 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "dùng groff và ép buộc nó sản sinh ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "Không có trang hướng dẫn cho \"%s\"\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(Thay vì vậy, bạn muốn trang hướng dẫn nào từ phần %s?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "Bạn muốn trang hướng dẫn nào?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "Không có trang hướng dẫn cho %s trong phần %s\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "Hãy xem \"%s\" để tìm trợ giúp khi trang hướng dẫn không sẵn sàng.\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "đang bỏ qua bộ tiền xử lý trước không hiểu \"%c\"" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "không thể thay đổi tên %s thành %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "không thể đặt thời gian trên %s" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "không thể bỏ liên kết %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "không thể tạo \"cat\" tạm cho %s" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "không thể tạo thư mục tạm thời" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "không thể mở tập tin tạm %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "không thể gỡ bỏ thư mục %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "--Man-- kế: %s [ xem (enter) | nhảy qua (Ctrl-D) | thoát (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -598,28 +598,28 @@ msgstr "" "\n" "không thể ghi vào %s trong chế độ \"catman\"" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "Không thể chuyển đổi %s sang tên \"cat\"" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s: nhờ các \"ref\" (tham chiếu) của lệnh \"whatis\" bị phản đối\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "" "lệnh \"mandb\" (cơ sở dữ liệu hướng dẫn) gặp lỗi với trạng thái thoát là %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "lỗi nội bộ: kiểu ứng cử %d nằm ngoài phạm vi" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Trang hướng dẫn " @@ -652,7 +652,7 @@ msgstr "MÃ" msgid "encoding for output" msgstr "bảng mã cho kết xuất" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "tạo ra ít cảnh báo hơn" @@ -666,99 +666,99 @@ msgstr "phải ghi rõ bảng mã đầu vào" msgid "must specify an output encoding" msgstr "phải ghi rõ bảng mã xuất ra" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[ĐƯỜNG_DẪN_MAN]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "chạy im, trừ xuất cảnh báo \"giả\"" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "đừng tìm hay thêm vào cơ sở dữ liệu các cat rải rác" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "đừng tẩy khỏi cơ sở dữ liệu các mục tin cũ" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "chỉ tạo các cơ sở dữ liệu người dùng" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "tạo lại cơ sở dữ liệu từ đầu thay cho cập nhật" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "kiểm tra các trang hướng dẫn xem có đúng không" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "TÊN_TẬP_TIN" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "chỉ cập nhật mục tin cho tên tập tin này" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "không thể gỡ bỏ %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "không thể ghi vào %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "không thể đọc từ %s" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "Đang xử lý các trang hướng dẫn dưới %s…\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "Đang gỡ bỏ các thư mục “cat” không dùng nữa %s…\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "" "cảnh báo: không có chỉ thị \"MANDB_MAP\" trong “%s” nên sẽ dùng đường dẫn " "hướng dẫn của bạn." -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d thư mục con hướng dẫn chứa trang hướng dẫn mới hơn.\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "%d trang hướng dẫn được thêm vào.\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "%d trang \"cat\" thất lạc đã được thêm vào.\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "%d mục tin cơ sở dữ liệu cũ bị tẩy.\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "Chưa tạo cơ sở dữ liệu." @@ -836,15 +836,15 @@ msgstr "không thể tháo gỡ thư mục hiện có" msgid "warning: %s does not begin with %s" msgstr "cảnh báo: %s không bắt đầu bằng %s" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "hiển thị đường dẫn tương đối cat" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "hiển thị toàn đường dẫn toàn cục" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "" @@ -875,96 +875,96 @@ msgstr "cảnh báo: không thể cập nhật bộ nhớ tạm mục lục %s" msgid "%s is self referencing" msgstr "%s tham chiếu đến chính nó" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "TỪ KHÓA…" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "Tùy chọn \"--regex\" (biểu thức chính quy) được bật theo mặc định." -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "in ra cảnh báo dạng chi tiết" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "biên dịch mỗi từ khóa như là một biểu thức chính quy" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "tìm kiếm khớp hoàn toàn từng từ khóa một" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "(các) từ khóa chứa ký tự đại diện (? * v.v.)" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "yêu cầu mọi từ khóa khớp" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "đừng xén kết xuất cho bằng bề rộng của thiết bị cuối" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "chỉ tìm kiếm trong những phần này (ngăn cách bởi dấu hai chấm)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "xác định miền địa phương cho việc tìm kiếm này" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s gì vậy?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "cảnh báo: %s chứa một vòng lặp con trỏ (pointer loop)" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(không hiểu chủ đề)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s: không có gì thích hợp cả.\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d: các yêu cầu \".so\" lồng nhau quá sâu hoặc bị đệ quy" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d: cảnh báo: yêu cầu \".so\" bị lỗi" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d: cảnh báo: yêu cầu \".so\" có chứa ký tự dòng mới nên bỏ qua" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d: cảnh báo: yêu cầu \".lf\" sai định dạng nên bỏ qua" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d: cảnh báo: yêu cầu \".lf\" có chứa ký tự dòng mới nên bỏ qua" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d: yêu cầu roff chứa đoạn trích dẫn chưa được chấm dứt" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "các tùy chọn dùng cho mục đích tương thích (bị bỏ qua)" diff --git a/po/zh_CN.po b/po/zh_CN.po index 079af964..22b61852 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.7.6.1\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2017-11-15 17:53+0800\n" "Last-Translator: Boyuan Yang <073plan@gmail.com>\n" "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n" @@ -80,7 +80,7 @@ msgid "bad fetch on multi key %s" msgstr "获取了无效的多重词条 %s" # need-proofread -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "数据库 %s 已损坏;请用 mandb --create 命令重建" @@ -90,28 +90,28 @@ msgstr "数据库 %s 已损坏;请用 mandb --create 命令重建" msgid "warning: %s has no version identifier\n" msgstr "警告:%s 没有版本识别符\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "警告:%s 的版本是 %s,期望为 %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "致命错误:无法将版本识别符插入 %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MAN 数据库]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "默认的 man 数据库是 %s%s。" -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "输出调试信息" @@ -121,46 +121,46 @@ msgstr "输出调试信息" msgid "can't open %s for reading" msgstr "无法打开 %s 读取数据" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[章节...]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "路径" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "设置搜索手册页的路径为 PATH" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "文件" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "使用该用户设置文件" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "man 命令失败,退出状态代码为 %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "无法读取数据库 %s" # need-proofread -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "关于 %s 词条的内容为空" # need-proofread -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -169,12 +169,12 @@ msgstr "" "\n" "正在更新 man 目录树 %2$s 中第 %1$s 节的 cat 文件\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "无法在 %s 里写入" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "无法更新 %s" @@ -185,68 +185,68 @@ msgstr "无法更新 %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "警告:%s/man%s/%s.%s*:互相竞争的扩展" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "无法更新索引缓存 %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "警告:%s:坏的符号链接或坏的 ROFF“.so”请求" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "警告:%s:忽略空文件" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "警告:%s:用 whatis 解读 %s(%s) 失败" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "无法搜索目录 %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "无法 chown %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "警告:无法创建 catdir %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "无法 chmod %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "无法切换到目录 %s 中" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "无法创建索引缓存 %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "正在为路径 %s/%s 更新索引缓存。请等待..." -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "完成。\n" # need-proofread -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "正在删除 %s 里的旧数据库条目...\n" @@ -263,48 +263,48 @@ msgstr "警告:为 %s(%s) 存储条目失败" msgid "warning: %s: ignoring bogus filename" msgstr "警告:%s:忽略错误的文件名" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "路径 章节 名称" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "扩展" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "将搜索限制在扩展类型为“扩展”的手册页之内" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "查找手册页时不区分大小写字母 (默认)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "查找手册页时区分大小写字母" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "把页面名称当作正则表达式解读" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "页面名称里包含通配符" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "警告:对 %s 的 whatis 操作结果超过 %d 字节,正在截断。" -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "无法打开 %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "文件..." @@ -402,7 +402,7 @@ msgstr "以指定编码输出手册页源码" msgid "Finding manual pages:" msgstr "寻找手册页:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "区域" @@ -410,15 +410,15 @@ msgstr "区域" msgid "define the locale for this particular man search" msgstr "定义本次手册页搜索所采用的区域设置" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "系统" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "使用来自其它系统的手册页" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "列表" @@ -532,77 +532,77 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "使用 groff 并强制它生成 ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "没有 %s 的手册页条目\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(换句话问,您需要第 %s 节中的什么手册页?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "您需要什么手册页?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "在第 %2$s 节中没有关于 %1$s 的手册页条目。\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "当没有手册页时,可以用 %s 命令来寻求帮助。\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "忽略未知的预处理器 `%c'" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "无法将 %s 改名为 %s" # need-proofread -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "无法设定 %s 文件的时间" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "无法删除 (unlink) %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "无法为 %s 创建临时 cat 文件" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "无法创建临时目录" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "无法打开临时文件 %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "无法移除目录 %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "--Man-- 下一页: %s [ 查看 (return) | 跳过 (Ctrl-D) | 退出 (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -611,23 +611,23 @@ msgstr "" "\n" "无法在 catman 模式下对 %s 写入" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "无法把 %s 转换为 cat 名称" # need-proofread -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s:依赖于 whatis 引用是已被废弃的做法\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "mandb 命令失败,退出状态代码为 %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "内部错误:候选类型 %d 超出正常范围" @@ -635,7 +635,7 @@ msgstr "内部错误:候选类型 %d 超出正常范围" # I'm not sure this should be translated. It comes from a less prompt string # but seems to be only part of it. (Ming) # need-proofread -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " Manual page " @@ -669,7 +669,7 @@ msgstr "编码" msgid "encoding for output" msgstr "输出文本所用的编码" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "少显示一些警告" @@ -683,73 +683,73 @@ msgstr "必须指定输入所用的编码" msgid "must specify an output encoding" msgstr "必须指定输出所用的编码" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[手册路径]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "安静运行,除 bogus 警告外不输出信息" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "不要寻找或在数据库中添加孤立 cat 页面" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "不要删除数据库中过时的旧条目" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "仅生成用户数据库" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "不更新数据库,而是重新创建数据库" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "检查手册页的正确性" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "文件名" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "仅更新该文件名对应的条目" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "无法移除 %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "无法对 %s 写入" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "无法从 %s 读取" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "正在处理 %s 下的手册页...\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "正在删除过时的 cat 目录 %s...\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "警告:在 %s 中没有 MANDB_MAP 指令,使用您的手册路径设置" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" @@ -758,26 +758,26 @@ msgstr[0] "%d 个 man 子目录包含更新的手册页。\n" # I'm not sure this should be translated. It comes from a less prompt string # but seems to be only part of it. (Ming) # need-proofread -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "添加了 %d 个手册页。\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "添加了 %d 个孤立 cat 页面。\n" # need-proofread -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "删除了 %d 条旧数据库条目。\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "未创建任何数据库。" @@ -852,15 +852,15 @@ msgstr "无法确定当前目录" msgid "warning: %s does not begin with %s" msgstr "警告:%s 并非以 %s 开始" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "显示相对 cat 路径" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "显示整个全局手册路径" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "警告:在设置文件 %s 中没有设定全局手册路径" @@ -891,98 +891,98 @@ msgstr "警告:无法更新索引缓存 %s" msgid "%s is self referencing" msgstr "%s 是指向自己的链接" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "关键词..." -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "默认开启 --regex 选项。" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "输出详细的警告信息" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "把每个关键词都当作正则表达式解读" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "对每个关键词都进行严格匹配的搜索" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "关键词里包含通配符" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "要求所有的关键词都同时匹配" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "不要把输出按终端宽度截断" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "仅在这些分区中搜索(冒号分隔)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "定义本次搜索所使用的区域设置" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s 什么?\n" # need-proofread -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "警告:%s 包含一个指针回环" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(未知的主题)" # partially-translated -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s:没有合适结果。\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d:.so 请求嵌套太深或形成循环" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d:警告:.so 请求失败" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d:警告:.so 请求中含有换行符,将忽略" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d:警告:不合规格的 .lf 请求,将忽略" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d:警告:.lf 请求中含有换行符,将忽略" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d:roff 请求中含有未结束的引用" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "兼容性选项 (将被忽略)" diff --git a/po/zh_TW.po b/po/zh_TW.po index 092be780..e9a69174 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: man-db 2.8.0-pre2\n" "Report-Msgid-Bugs-To: Colin Watson <cjwatson@debian.org>\n" -"POT-Creation-Date: 2019-08-05 10:12+0100\n" +"POT-Creation-Date: 2019-08-26 15:48+0100\n" "PO-Revision-Date: 2018-05-09 19:02+0800\n" "Last-Translator: pan93412 <pan93412@gmail.com>\n" "Language-Team: Chinese (traditional) <zh-l10n@linux.org.tw>\n" @@ -65,7 +65,7 @@ msgstr[0] "內容中只有 %d 個欄位" msgid "bad fetch on multi key %s" msgstr "多重按鍵 %s 上失敗的提取" -#: libdb/db_lookup.c:443 src/whatis.c:739 +#: libdb/db_lookup.c:443 src/whatis.c:737 #, c-format msgid "Database %s corrupted; rebuild with mandb --create" msgstr "資料庫 %s 損壞;透過 mandb --create 重建" @@ -75,28 +75,28 @@ msgstr "資料庫 %s 損壞;透過 mandb --create 重建" msgid "warning: %s has no version identifier\n" msgstr "警告:%s 沒有版本識別碼\n" -#: libdb/db_ver.c:56 +#: libdb/db_ver.c:57 #, c-format msgid "warning: %s is version %s, expecting %s\n" msgstr "警告:%s 為版本 %s,預期為 %s\n" -#: libdb/db_ver.c:78 +#: libdb/db_ver.c:79 #, c-format msgid "fatal: unable to insert version identifier into %s" msgstr "嚴重錯誤:無法插入版本識別碼至 %s" -#: src/accessdb.c:61 +#: src/accessdb.c:59 msgid "[MAN DATABASE]" msgstr "[MAN 資料庫]" -#: src/accessdb.c:62 +#: src/accessdb.c:60 #, c-format msgid "The man database defaults to %s%s." msgstr "man 資料庫預設值至 %s%s。" -#: src/accessdb.c:65 src/catman.c:103 src/globbing_test.c:62 -#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:115 -#: src/manpath.c:67 src/whatis.c:127 src/zsoelim_main.c:69 +#: src/accessdb.c:63 src/catman.c:100 src/globbing_test.c:58 +#: src/lexgrog_test.c:73 src/man.c:268 src/manconv_main.c:96 src/mandb.c:114 +#: src/manpath.c:65 src/whatis.c:126 src/zsoelim_main.c:68 msgid "emit debugging messages" msgstr "發出偵錯訊息" @@ -105,44 +105,44 @@ msgstr "發出偵錯訊息" msgid "can't open %s for reading" msgstr "無法讀取 %s" -#: src/catman.c:100 +#: src/catman.c:97 msgid "[SECTION...]" msgstr "[章節…]" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "PATH" msgstr "位置" -#: src/catman.c:104 src/man.c:289 src/whatis.c:137 +#: src/catman.c:101 src/man.c:289 src/whatis.c:136 msgid "set search path for manual pages to PATH" msgstr "設定手冊頁面的搜尋路徑至 PATH" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "FILE" msgstr "檔案" -#: src/catman.c:105 src/man.c:267 src/mandb.c:123 src/manpath.c:69 -#: src/whatis.c:139 +#: src/catman.c:102 src/man.c:267 src/mandb.c:122 src/manpath.c:67 +#: src/whatis.c:138 msgid "use this user configuration file" msgstr "使用這個使用者設定檔" -#: src/catman.c:198 +#: src/catman.c:195 #, c-format msgid "man command failed with exit status %d" msgstr "man 指令錯誤,離開代碼 %d" -#: src/catman.c:237 +#: src/catman.c:235 #, c-format msgid "cannot read database %s" msgstr "無法讀取資料庫 %s" -#: src/catman.c:280 +#: src/catman.c:278 #, c-format msgid "NULL content for key: %s" msgstr "金鑰的空內容:%s" -#: src/catman.c:295 +#: src/catman.c:294 #, c-format msgid "" "\n" @@ -151,12 +151,12 @@ msgstr "" "\n" "更新 man 層次結構 %2$s 的第 %1$s 部份的 cat 檔案\n" -#: src/catman.c:349 +#: src/catman.c:348 #, c-format msgid "cannot write within %s" msgstr "無法在 %s 中寫入" -#: src/catman.c:426 +#: src/catman.c:425 #, c-format msgid "unable to update %s" msgstr "無法更新 %s" @@ -166,67 +166,67 @@ msgstr "無法更新 %s" msgid "warning: %s/man%s/%s.%s*: competing extensions" msgstr "警告:%s/man%s/%s.%s*:競爭擴展 (competing extensions)" -#: src/check_mandirs.c:114 src/check_mandirs.c:613 +#: src/check_mandirs.c:126 src/check_mandirs.c:626 #, c-format msgid "can't update index cache %s" msgstr "無法更新索引快取 %s" -#: src/check_mandirs.c:242 +#: src/check_mandirs.c:254 #, c-format msgid "warning: %s: bad symlink or ROFF `.so' request" msgstr "警告:%s:損壞的符號連結或 ROFF `.so' 請求" -#: src/check_mandirs.c:298 +#: src/check_mandirs.c:310 #, c-format msgid "warning: %s: ignoring empty file" msgstr "警告:%s:忽略空檔案" -#: src/check_mandirs.c:302 src/straycats.c:276 +#: src/check_mandirs.c:314 src/straycats.c:276 #, c-format msgid "warning: %s: whatis parse for %s(%s) failed" msgstr "警告:%s:為 %s(%s) 的 whatis 解析失敗" -#: src/check_mandirs.c:329 src/check_mandirs.c:498 src/mandb.c:883 +#: src/check_mandirs.c:341 src/check_mandirs.c:511 src/mandb.c:877 #: src/straycats.c:84 src/straycats.c:303 src/ult_src.c:81 #, c-format msgid "can't search directory %s" msgstr "無法搜尋路徑 %s" -#: src/check_mandirs.c:378 src/man.c:1687 +#: src/check_mandirs.c:390 src/man.c:1689 #, c-format msgid "can't chown %s" msgstr "無法 chown %s" -#: src/check_mandirs.c:400 src/check_mandirs.c:423 +#: src/check_mandirs.c:412 src/check_mandirs.c:435 #, c-format msgid "warning: cannot create catdir %s" msgstr "警告:無法建立 catdir %s" -#: src/check_mandirs.c:455 src/man.c:1699 src/mandb.c:233 +#: src/check_mandirs.c:467 src/man.c:1701 src/mandb.c:232 #, c-format msgid "can't chmod %s" msgstr "無法 chmod %s" -#: src/check_mandirs.c:503 +#: src/check_mandirs.c:516 #, c-format msgid "can't change to directory %s" msgstr "無法切換至目錄 %s" -#: src/check_mandirs.c:553 +#: src/check_mandirs.c:566 #, c-format msgid "can't create index cache %s" msgstr "無法建立索引快取 %s" -#: src/check_mandirs.c:578 +#: src/check_mandirs.c:591 #, c-format msgid "Updating index cache for path `%s/%s'. Wait..." msgstr "正在為路徑「%s/%s」更新索引快取。請等待…" -#: src/check_mandirs.c:640 src/check_mandirs.c:701 +#: src/check_mandirs.c:653 src/check_mandirs.c:714 msgid "done.\n" msgstr "完成。\n" -#: src/check_mandirs.c:963 +#: src/check_mandirs.c:977 #, c-format msgid "Purging old database entries in %s...\n" msgstr "正在清除 %s 中的舊資料庫項目…\n" @@ -241,48 +241,48 @@ msgstr "警告:無法為 %s(%s) 儲存項目" msgid "warning: %s: ignoring bogus filename" msgstr "警告:%s:忽略假檔案名稱" -#: src/globbing_test.c:59 +#: src/globbing_test.c:55 msgid "PATH SECTION NAME" msgstr "路徑部份名稱" -#: src/globbing_test.c:63 src/man.c:292 +#: src/globbing_test.c:59 src/man.c:292 msgid "EXTENSION" msgstr "EXTENSION" -#: src/globbing_test.c:63 src/man.c:293 +#: src/globbing_test.c:59 src/man.c:293 msgid "limit search to extension type EXTENSION" msgstr "限制搜尋擴充元件類型 EXTENSION" -#: src/globbing_test.c:64 src/man.c:294 +#: src/globbing_test.c:60 src/man.c:294 msgid "look for pages case-insensitively (default)" msgstr "不區分大小寫搜尋頁面(預設)" -#: src/globbing_test.c:65 src/man.c:295 +#: src/globbing_test.c:61 src/man.c:295 msgid "look for pages case-sensitively" msgstr "區分大小寫搜尋頁面" -#: src/globbing_test.c:66 +#: src/globbing_test.c:62 msgid "interpret page name as a regex" msgstr "將頁面名稱解釋為正規表達式" -#: src/globbing_test.c:67 +#: src/globbing_test.c:63 msgid "the page name contains wildcards" msgstr "頁面名稱包含 Wildcard" -#: src/lexgrog.l:691 +#: src/lexgrog.l:701 #, c-format msgid "warning: whatis for %s exceeds %d byte, truncating." msgid_plural "warning: whatis for %s exceeds %d bytes, truncating." msgstr[0] "警告:為 %s 的 whatis 超出 %d 位元組,正在截斷。" -#: src/lexgrog.l:844 src/man.c:2268 src/man.c:2350 src/man.c:2448 +#: src/lexgrog.l:854 src/man.c:2270 src/man.c:2354 src/man.c:2452 #: src/manconv_main.c:168 src/straycats.c:218 src/ult_src.c:321 -#: src/ult_src.c:335 src/zsoelim.l:512 +#: src/ult_src.c:335 src/zsoelim.l:519 #, c-format msgid "can't open %s" msgstr "無法開啟 %s" -#: src/lexgrog_test.c:69 src/zsoelim_main.c:66 +#: src/lexgrog_test.c:69 src/zsoelim_main.c:65 msgid "FILE..." msgstr "檔案…" @@ -380,7 +380,7 @@ msgstr "在 ENCODING 中編碼輸出原始頁面" msgid "Finding manual pages:" msgstr "正在搜尋手冊頁面:" -#: src/man.c:287 src/whatis.c:138 +#: src/man.c:287 src/whatis.c:137 msgid "LOCALE" msgstr "語系" @@ -388,15 +388,15 @@ msgstr "語系" msgid "define the locale for this particular man search" msgstr "為此特定的 man 搜尋定義語言" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "SYSTEM" msgstr "系統" -#: src/man.c:288 src/manpath.c:70 src/whatis.c:136 +#: src/man.c:288 src/manpath.c:68 src/whatis.c:135 msgid "use manual pages from other systems" msgstr "從系統系統使用手冊頁面" -#: src/man.c:290 src/whatis.c:134 +#: src/man.c:290 src/whatis.c:133 msgid "LIST" msgstr "列表" @@ -509,76 +509,76 @@ msgstr "" msgid "use groff and force it to produce ditroff" msgstr "使用 groff 並強制其產生 ditroff" -#: src/man.c:597 src/man.c:733 +#: src/man.c:599 src/man.c:735 #, c-format msgid "No manual entry for %s\n" msgstr "沒有 %s 的手冊項目\n" -#: src/man.c:599 +#: src/man.c:601 #, c-format msgid "(Alternatively, what manual page do you want from section %s?)\n" msgstr "(或者,您想從第 %s 章節中選擇哪個手冊頁面?)\n" -#: src/man.c:603 +#: src/man.c:605 msgid "What manual page do you want?\n" msgstr "你想要什麼手冊?\n" -#: src/man.c:730 +#: src/man.c:732 #, c-format msgid "No manual entry for %s in section %s\n" msgstr "%2$s 部份中沒有 %1$s 的手冊項目\n" -#: src/man.c:739 +#: src/man.c:741 #, c-format msgid "See '%s' for help when manual pages are not available.\n" msgstr "當說明書不可用時,查看「%s」取得說明。\n" -#: src/man.c:1347 +#: src/man.c:1349 #, c-format msgid "ignoring unknown preprocessor `%c'" msgstr "忽略未知的預處理機「%c」" -#: src/man.c:1710 src/mandb.c:224 +#: src/man.c:1712 src/mandb.c:223 #, c-format msgid "can't rename %s to %s" msgstr "無法重新命名 %s 至 %s" -#: src/man.c:1727 +#: src/man.c:1729 #, c-format msgid "can't set times on %s" msgstr "無法在 %s 上設定時間" -#: src/man.c:1736 src/man.c:1773 +#: src/man.c:1738 src/man.c:1775 #, c-format msgid "can't unlink %s" msgstr "無法解除連結 %s" -#: src/man.c:1803 +#: src/man.c:1805 #, c-format msgid "can't create temporary cat for %s" msgstr "無法為 %s 建立暫存 cat" -#: src/man.c:1913 +#: src/man.c:1915 #, c-format msgid "can't create temporary directory" msgstr "無法建立暫存目錄" -#: src/man.c:1924 +#: src/man.c:1926 #, c-format msgid "can't open temporary file %s" msgstr "無法開啟暫存檔案 %s" -#: src/man.c:1954 src/man.c:1983 +#: src/man.c:1956 src/man.c:1985 #, c-format msgid "can't remove directory %s" msgstr "無法移除目錄 %s" -#: src/man.c:2112 +#: src/man.c:2114 #, c-format msgid "--Man-- next: %s [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]\n" msgstr "--Man-- 下一個:%s [ 顯示 (return) | 跳過 (Ctrl-D) | 離開 (Ctrl-C) ]\n" -#: src/man.c:2393 +#: src/man.c:2397 #, c-format msgid "" "\n" @@ -587,27 +587,27 @@ msgstr "" "\n" "無法在 catman 模式寫至 %s" -#: src/man.c:2474 +#: src/man.c:2477 #, c-format msgid "Can't convert %s to cat name" msgstr "無法轉換 %s 至 cat 名稱" -#: src/man.c:3203 +#: src/man.c:3206 #, c-format msgid "%s: relying on whatis refs is deprecated\n" msgstr "%s:依靠 whatis 的參考已經放棄\n" -#: src/man.c:3346 src/man.c:4196 +#: src/man.c:3349 src/man.c:4200 #, c-format msgid "mandb command failed with exit status %d" msgstr "mandb 指令執行失敗,回傳代碼 %d" -#: src/man.c:3548 +#: src/man.c:3551 #, c-format msgid "internal error: candidate type %d out of range" msgstr "內部錯誤:候選類型 %d 超出範圍" -#: src/man.c:4137 +#: src/man.c:4141 msgid " Manual page " msgstr " 手冊頁面 " @@ -640,7 +640,7 @@ msgstr "CODE" msgid "encoding for output" msgstr "輸出編碼" -#: src/manconv_main.c:97 src/manpath.c:68 +#: src/manconv_main.c:97 src/manpath.c:66 msgid "produce fewer warnings" msgstr "產生較少的警告" @@ -654,97 +654,97 @@ msgstr "需要指定輸入編碼" msgid "must specify an output encoding" msgstr "需要指定輸出編碼" -#: src/mandb.c:112 +#: src/mandb.c:111 msgid "[MANPATH]" msgstr "[MANPATH]" -#: src/mandb.c:116 +#: src/mandb.c:115 msgid "work quietly, except for 'bogus' warning" msgstr "安靜的執行,除了「bogus」警告" -#: src/mandb.c:117 +#: src/mandb.c:116 msgid "don't look for or add stray cats to the dbs" msgstr "不要尋找或增加 stray cats 至資料庫" -#: src/mandb.c:118 +#: src/mandb.c:117 msgid "don't purge obsolete entries from the dbs" msgstr "不要從資料庫清除過期的項目" -#: src/mandb.c:119 +#: src/mandb.c:118 msgid "produce user databases only" msgstr "只產生使用者資料庫" -#: src/mandb.c:120 +#: src/mandb.c:119 msgid "create dbs from scratch, rather than updating" msgstr "從頭建立資料庫,而不是升級。" -#: src/mandb.c:121 +#: src/mandb.c:120 msgid "check manual pages for correctness" msgstr "檢查手冊頁面的正確性" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "FILENAME" msgstr "檔案名稱" -#: src/mandb.c:122 +#: src/mandb.c:121 msgid "update just the entry for this filename" msgstr "只更新此檔案名稱的項目" -#: src/mandb.c:217 +#: src/mandb.c:216 #, c-format msgid "can't remove %s" msgstr "無法移除 %s" -#: src/mandb.c:281 +#: src/mandb.c:280 #, c-format msgid "can't write to %s" msgstr "無法寫至 %s" -#: src/mandb.c:286 +#: src/mandb.c:285 #, c-format msgid "can't read from %s" msgstr "無法從 %s 讀取" -#: src/mandb.c:455 +#: src/mandb.c:457 #, c-format msgid "Processing manual pages under %s...\n" msgstr "正在 %s 底下處理手冊頁面…\n" -#: src/mandb.c:672 src/mandb.c:698 +#: src/mandb.c:666 src/mandb.c:692 #, c-format msgid "Removing obsolete cat directory %s...\n" msgstr "移除過時的 cat 路徑 %s…\n" -#: src/mandb.c:848 +#: src/mandb.c:842 #, c-format msgid "warning: no MANDB_MAP directives in %s, using your manpath" msgstr "警告:%s 中沒有 MANDB_MAP 指令,使用您的 manpath" -#: src/mandb.c:920 +#: src/mandb.c:914 #, c-format msgid "%d man subdirectory contained newer manual pages.\n" msgid_plural "%d man subdirectories contained newer manual pages.\n" msgstr[0] "%d 個 man 子目錄包含了較新的手冊頁面\n" -#: src/mandb.c:925 +#: src/mandb.c:919 #, c-format msgid "%d manual page was added.\n" msgid_plural "%d manual pages were added.\n" msgstr[0] "加入了 %d 個手冊頁面\n" -#: src/mandb.c:929 +#: src/mandb.c:923 #, c-format msgid "%d stray cat was added.\n" msgid_plural "%d stray cats were added.\n" msgstr[0] "加入了 %d 個 stray cat\n" -#: src/mandb.c:934 +#: src/mandb.c:928 #, c-format msgid "%d old database entry was purged.\n" msgid_plural "%d old database entries were purged.\n" msgstr[0] "清除了 %d 個舊資料庫項目。\n" -#: src/mandb.c:952 +#: src/mandb.c:946 #, c-format msgid "No databases created." msgstr "沒有建立的資料庫" @@ -819,15 +819,15 @@ msgstr "無法確定目前的目錄" msgid "warning: %s does not begin with %s" msgstr "警告:%s 未以 %s 開頭" -#: src/manpath.c:65 +#: src/manpath.c:63 msgid "show relative catpaths" msgstr "顯示相對的 catpath" -#: src/manpath.c:66 +#: src/manpath.c:64 msgid "show the entire global manpath" msgstr "顯示整個全域 manpath" -#: src/manpath.c:128 +#: src/manpath.c:126 #, c-format msgid "warning: no global manpaths set in config file %s" msgstr "警告:沒有在設定檔 %s 設定全域 manpath" @@ -857,96 +857,96 @@ msgstr "警告:無法更新索引快取 %s" msgid "%s is self referencing" msgstr "%s 為自我參考" -#: src/whatis.c:123 +#: src/whatis.c:122 msgid "KEYWORD..." msgstr "關鍵字…" -#: src/whatis.c:124 +#: src/whatis.c:123 msgid "The --regex option is enabled by default." msgstr "預設值啟用了 --regex 選項" -#: src/whatis.c:128 +#: src/whatis.c:127 msgid "print verbose warning messages" msgstr "顯示詳細的警告訊息" -#: src/whatis.c:129 +#: src/whatis.c:128 msgid "interpret each keyword as a regex" msgstr "將每個關鍵字解釋為正規表達式" -#: src/whatis.c:130 +#: src/whatis.c:129 msgid "search each keyword for exact match" msgstr "精確搜尋每個關鍵字" -#: src/whatis.c:131 +#: src/whatis.c:130 msgid "the keyword(s) contain wildcards" msgstr "此關鍵字包含 Wildcard" -#: src/whatis.c:132 +#: src/whatis.c:131 msgid "require all keywords to match" msgstr "需要符合所有關鍵字" -#: src/whatis.c:133 +#: src/whatis.c:132 msgid "do not trim output to terminal width" msgstr "不依終端器寬度裁切輸出" -#: src/whatis.c:134 +#: src/whatis.c:133 msgid "search only these sections (colon-separated)" msgstr "只搜尋這些部份(以冒號分隔)" -#: src/whatis.c:138 +#: src/whatis.c:137 msgid "define the locale for this search" msgstr "為這個搜尋定義語言" -#: src/whatis.c:235 +#: src/whatis.c:234 #, c-format msgid "%s what?\n" msgstr "%s 什麼?\n" -#: src/whatis.c:412 src/whatis.c:430 +#: src/whatis.c:410 src/whatis.c:428 #, c-format msgid "warning: %s contains a pointer loop" msgstr "警告:%s 包含了遞迴指標" -#: src/whatis.c:424 src/whatis.c:432 +#: src/whatis.c:422 src/whatis.c:430 msgid "(unknown subject)" msgstr "(未知主旨)" -#: src/whatis.c:863 +#: src/whatis.c:861 #, c-format msgid "%s: nothing appropriate.\n" msgstr "%s:什麼都不適合。\n" -#: src/zsoelim.l:171 +#: src/zsoelim.l:178 #, c-format msgid "%s:%d: .so requests nested too deeply or are recursive" msgstr "%s:%d:.so 請求巢狀過深或遞迴" -#: src/zsoelim.l:186 +#: src/zsoelim.l:193 #, c-format msgid "%s:%d: warning: failed .so request" msgstr "%s:%d:警告:失敗的 .so 請求" -#: src/zsoelim.l:208 +#: src/zsoelim.l:215 #, c-format msgid "%s:%d: warning: newline in .so request, ignoring" msgstr "%s:%d:警告:換行符號在 .so 請求中,正在忽略" -#: src/zsoelim.l:268 +#: src/zsoelim.l:275 #, c-format msgid "%s:%d: warning: malformed .lf request, ignoring" msgstr "%s:%d:警告:.If 請求格式錯誤,正在忽略" -#: src/zsoelim.l:278 +#: src/zsoelim.l:285 #, c-format msgid "%s:%d: warning: newline in .lf request, ignoring" msgstr "%s:%d:警告:換行符號在 .If 請求中,正在忽略" -#: src/zsoelim.l:318 +#: src/zsoelim.l:325 #, c-format msgid "%s:%d: unterminated quote in roff request" msgstr "%s:%d:roff 請求中未終止的引用" -#: src/zsoelim_main.c:70 +#: src/zsoelim_main.c:69 msgid "compatibility switch (ignored)" msgstr "相容性開關(已忽略)" diff --git a/src/Makefile.am b/src/Makefile.am index ecc397f1..4431e902 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,13 +62,13 @@ LIBMANDB = $(top_builddir)/libdb/libmandb.la $(LIBMAN) $(DBLIBS) accessdb_LDADD = $(LIBMANDB) catman_LDADD = $(LIBMANDB) $(libpipeline_LIBS) globbing_LDADD = $(LIBMAN) -lexgrog_LDADD = $(LIBMAN) $(libpipeline_LIBS) $(LTLIBICONV) -man_LDADD = $(LIBMANDB) $(libpipeline_LIBS) $(LTLIBICONV) -manconv_LDADD = $(LIBMAN) $(libpipeline_LIBS) $(LTLIBICONV) -mandb_LDADD = $(LIBMANDB) $(libpipeline_LIBS) $(LTLIBICONV) +lexgrog_LDADD = $(LIBMAN) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) +man_LDADD = $(LIBMANDB) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) +manconv_LDADD = $(LIBMAN) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) +mandb_LDADD = $(LIBMANDB) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) manpath_LDADD = $(LIBMAN) whatis_LDADD = $(LIBMANDB) $(libpipeline_LIBS) $(LTLIBICONV) -zsoelim_LDADD = $(LIBMAN) $(libpipeline_LIBS) +zsoelim_LDADD = $(LIBMAN) $(LIBCOMPRESS) $(libpipeline_LIBS) accessdb_SOURCES = \ accessdb.c @@ -84,6 +84,8 @@ globbing_SOURCES = \ globbing_test.c lexgrog_SOURCES = \ compression.c \ + decompress.c \ + decompress.h \ descriptions.c \ descriptions.h \ filenames.c \ @@ -100,6 +102,8 @@ lexgrog_SOURCES = \ ult_src.h man_SOURCES = \ compression.c \ + decompress.c \ + decompress.h \ filenames.c \ filenames.h \ globbing.c \ @@ -116,6 +120,8 @@ man_SOURCES = \ zsoelim.h \ zsoelim.l manconv_SOURCES = \ + decompress.c \ + decompress.h \ manconv.c \ manconv.h \ manconv_main.c @@ -123,6 +129,8 @@ mandb_SOURCES = \ check_mandirs.c \ check_mandirs.h \ compression.c \ + decompress.c \ + decompress.h \ descriptions.c \ descriptions.h \ descriptions_store.c \ @@ -150,12 +158,12 @@ manpath_SOURCES = \ whatis_SOURCES = \ globbing.c \ globbing.h \ - manconv.c \ - manconv.h \ manp.c \ manp.h \ whatis.c zsoelim_SOURCES = \ + decompress.c \ + decompress.h \ globbing.c \ globbing.h \ manp.c \ diff --git a/src/Makefile.in b/src/Makefile.in index 413cae19..4511eb8e 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -188,6 +188,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -291,45 +292,47 @@ catman_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_2) am_globbing_OBJECTS = globbing.$(OBJEXT) globbing_test.$(OBJEXT) globbing_OBJECTS = $(am_globbing_OBJECTS) globbing_DEPENDENCIES = $(am__DEPENDENCIES_1) -am_lexgrog_OBJECTS = compression.$(OBJEXT) descriptions.$(OBJEXT) \ - filenames.$(OBJEXT) globbing.$(OBJEXT) lexgrog.$(OBJEXT) \ - lexgrog_test.$(OBJEXT) manconv.$(OBJEXT) \ +am_lexgrog_OBJECTS = compression.$(OBJEXT) decompress.$(OBJEXT) \ + descriptions.$(OBJEXT) filenames.$(OBJEXT) globbing.$(OBJEXT) \ + lexgrog.$(OBJEXT) lexgrog_test.$(OBJEXT) manconv.$(OBJEXT) \ manconv_client.$(OBJEXT) ult_src.$(OBJEXT) lexgrog_OBJECTS = $(am_lexgrog_OBJECTS) lexgrog_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) -am_man_OBJECTS = compression.$(OBJEXT) filenames.$(OBJEXT) \ - globbing.$(OBJEXT) man.$(OBJEXT) manconv.$(OBJEXT) \ - manconv_client.$(OBJEXT) manp.$(OBJEXT) ult_src.$(OBJEXT) \ - zsoelim.$(OBJEXT) + $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) +am_man_OBJECTS = compression.$(OBJEXT) decompress.$(OBJEXT) \ + filenames.$(OBJEXT) globbing.$(OBJEXT) man.$(OBJEXT) \ + manconv.$(OBJEXT) manconv_client.$(OBJEXT) manp.$(OBJEXT) \ + ult_src.$(OBJEXT) zsoelim.$(OBJEXT) man_OBJECTS = $(am_man_OBJECTS) man_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) -am_manconv_OBJECTS = manconv.$(OBJEXT) manconv_main.$(OBJEXT) + $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) +am_manconv_OBJECTS = decompress.$(OBJEXT) manconv.$(OBJEXT) \ + manconv_main.$(OBJEXT) manconv_OBJECTS = $(am_manconv_OBJECTS) manconv_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) am_mandb_OBJECTS = check_mandirs.$(OBJEXT) compression.$(OBJEXT) \ - descriptions.$(OBJEXT) descriptions_store.$(OBJEXT) \ - filenames.$(OBJEXT) globbing.$(OBJEXT) lexgrog.$(OBJEXT) \ - manconv.$(OBJEXT) manconv_client.$(OBJEXT) mandb.$(OBJEXT) \ - manp.$(OBJEXT) straycats.$(OBJEXT) ult_src.$(OBJEXT) + decompress.$(OBJEXT) descriptions.$(OBJEXT) \ + descriptions_store.$(OBJEXT) filenames.$(OBJEXT) \ + globbing.$(OBJEXT) lexgrog.$(OBJEXT) manconv.$(OBJEXT) \ + manconv_client.$(OBJEXT) mandb.$(OBJEXT) manp.$(OBJEXT) \ + straycats.$(OBJEXT) ult_src.$(OBJEXT) mandb_OBJECTS = $(am_mandb_OBJECTS) mandb_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_2) am_manpath_OBJECTS = globbing.$(OBJEXT) manp.$(OBJEXT) \ manpath.$(OBJEXT) manpath_OBJECTS = $(am_manpath_OBJECTS) manpath_DEPENDENCIES = $(am__DEPENDENCIES_1) -am_whatis_OBJECTS = globbing.$(OBJEXT) manconv.$(OBJEXT) \ - manp.$(OBJEXT) whatis.$(OBJEXT) +am_whatis_OBJECTS = globbing.$(OBJEXT) manp.$(OBJEXT) whatis.$(OBJEXT) whatis_OBJECTS = $(am_whatis_OBJECTS) whatis_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_2) \ $(am__DEPENDENCIES_2) -am_zsoelim_OBJECTS = globbing.$(OBJEXT) manp.$(OBJEXT) \ - zsoelim.$(OBJEXT) zsoelim_main.$(OBJEXT) +am_zsoelim_OBJECTS = decompress.$(OBJEXT) globbing.$(OBJEXT) \ + manp.$(OBJEXT) zsoelim.$(OBJEXT) zsoelim_main.$(OBJEXT) zsoelim_OBJECTS = $(am_zsoelim_OBJECTS) -zsoelim_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +zsoelim_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ + $(am__DEPENDENCIES_2) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -347,16 +350,16 @@ depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp am__maybe_remake_depfiles = depfiles am__depfiles_remade = ./$(DEPDIR)/accessdb.Po ./$(DEPDIR)/catman.Po \ ./$(DEPDIR)/check_mandirs.Po ./$(DEPDIR)/compression.Po \ - ./$(DEPDIR)/descriptions.Po ./$(DEPDIR)/descriptions_store.Po \ - ./$(DEPDIR)/filenames.Po ./$(DEPDIR)/globbing.Po \ - ./$(DEPDIR)/globbing_test.Po ./$(DEPDIR)/lexgrog.Po \ - ./$(DEPDIR)/lexgrog_test.Po ./$(DEPDIR)/man.Po \ - ./$(DEPDIR)/manconv.Po ./$(DEPDIR)/manconv_client.Po \ - ./$(DEPDIR)/manconv_main.Po ./$(DEPDIR)/mandb.Po \ - ./$(DEPDIR)/manp.Po ./$(DEPDIR)/manpath.Po \ - ./$(DEPDIR)/straycats.Po ./$(DEPDIR)/ult_src.Po \ - ./$(DEPDIR)/whatis.Po ./$(DEPDIR)/zsoelim.Po \ - ./$(DEPDIR)/zsoelim_main.Po + ./$(DEPDIR)/decompress.Po ./$(DEPDIR)/descriptions.Po \ + ./$(DEPDIR)/descriptions_store.Po ./$(DEPDIR)/filenames.Po \ + ./$(DEPDIR)/globbing.Po ./$(DEPDIR)/globbing_test.Po \ + ./$(DEPDIR)/lexgrog.Po ./$(DEPDIR)/lexgrog_test.Po \ + ./$(DEPDIR)/man.Po ./$(DEPDIR)/manconv.Po \ + ./$(DEPDIR)/manconv_client.Po ./$(DEPDIR)/manconv_main.Po \ + ./$(DEPDIR)/mandb.Po ./$(DEPDIR)/manp.Po \ + ./$(DEPDIR)/manpath.Po ./$(DEPDIR)/straycats.Po \ + ./$(DEPDIR)/ult_src.Po ./$(DEPDIR)/whatis.Po \ + ./$(DEPDIR)/zsoelim.Po ./$(DEPDIR)/zsoelim_main.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -531,6 +534,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -738,6 +742,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -812,6 +817,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -819,6 +825,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -900,6 +907,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -922,6 +930,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -972,6 +981,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -991,6 +1001,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1091,8 +1102,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1115,7 +1124,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1261,6 +1269,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1309,6 +1318,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1322,6 +1332,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1342,6 +1353,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ @@ -1559,13 +1571,13 @@ LIBMANDB = $(top_builddir)/libdb/libmandb.la $(LIBMAN) $(DBLIBS) accessdb_LDADD = $(LIBMANDB) catman_LDADD = $(LIBMANDB) $(libpipeline_LIBS) globbing_LDADD = $(LIBMAN) -lexgrog_LDADD = $(LIBMAN) $(libpipeline_LIBS) $(LTLIBICONV) -man_LDADD = $(LIBMANDB) $(libpipeline_LIBS) $(LTLIBICONV) -manconv_LDADD = $(LIBMAN) $(libpipeline_LIBS) $(LTLIBICONV) -mandb_LDADD = $(LIBMANDB) $(libpipeline_LIBS) $(LTLIBICONV) +lexgrog_LDADD = $(LIBMAN) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) +man_LDADD = $(LIBMANDB) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) +manconv_LDADD = $(LIBMAN) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) +mandb_LDADD = $(LIBMANDB) $(LIBCOMPRESS) $(libpipeline_LIBS) $(LTLIBICONV) manpath_LDADD = $(LIBMAN) whatis_LDADD = $(LIBMANDB) $(libpipeline_LIBS) $(LTLIBICONV) -zsoelim_LDADD = $(LIBMAN) $(libpipeline_LIBS) +zsoelim_LDADD = $(LIBMAN) $(LIBCOMPRESS) $(libpipeline_LIBS) accessdb_SOURCES = \ accessdb.c @@ -1583,6 +1595,8 @@ globbing_SOURCES = \ lexgrog_SOURCES = \ compression.c \ + decompress.c \ + decompress.h \ descriptions.c \ descriptions.h \ filenames.c \ @@ -1600,6 +1614,8 @@ lexgrog_SOURCES = \ man_SOURCES = \ compression.c \ + decompress.c \ + decompress.h \ filenames.c \ filenames.h \ globbing.c \ @@ -1617,6 +1633,8 @@ man_SOURCES = \ zsoelim.l manconv_SOURCES = \ + decompress.c \ + decompress.h \ manconv.c \ manconv.h \ manconv_main.c @@ -1625,6 +1643,8 @@ mandb_SOURCES = \ check_mandirs.c \ check_mandirs.h \ compression.c \ + decompress.c \ + decompress.h \ descriptions.c \ descriptions.h \ descriptions_store.c \ @@ -1654,13 +1674,13 @@ manpath_SOURCES = \ whatis_SOURCES = \ globbing.c \ globbing.h \ - manconv.c \ - manconv.h \ manp.c \ manp.h \ whatis.c zsoelim_SOURCES = \ + decompress.c \ + decompress.h \ globbing.c \ globbing.h \ manp.c \ @@ -1903,6 +1923,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/catman.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_mandirs.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/compression.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decompress.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/descriptions.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/descriptions_store.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filenames.Po@am__quote@ # am--include-marker @@ -2167,6 +2188,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/catman.Po -rm -f ./$(DEPDIR)/check_mandirs.Po -rm -f ./$(DEPDIR)/compression.Po + -rm -f ./$(DEPDIR)/decompress.Po -rm -f ./$(DEPDIR)/descriptions.Po -rm -f ./$(DEPDIR)/descriptions_store.Po -rm -f ./$(DEPDIR)/filenames.Po @@ -2238,6 +2260,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/catman.Po -rm -f ./$(DEPDIR)/check_mandirs.Po -rm -f ./$(DEPDIR)/compression.Po + -rm -f ./$(DEPDIR)/decompress.Po -rm -f ./$(DEPDIR)/descriptions.Po -rm -f ./$(DEPDIR)/descriptions_store.Po -rm -f ./$(DEPDIR)/filenames.Po diff --git a/src/accessdb.c b/src/accessdb.c index ff3fef5e..5de7d7ff 100644 --- a/src/accessdb.c +++ b/src/accessdb.c @@ -32,6 +32,7 @@ #include <errno.h> #include <string.h> #include <stdlib.h> +#include <assert.h> #include "argp.h" #include "progname.h" @@ -44,14 +45,11 @@ #include "manconfig.h" #include "error.h" -#include "sandbox.h" #include "mydbm.h" const char *cat_root; -man_sandbox *sandbox; /* unused, but needed by libman */ -/* for db_storage.c */ char *database; const char *argp_program_version = "accessdb " PACKAGE_VERSION; @@ -90,8 +88,9 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) return ARGP_ERR_UNKNOWN; } -static char *help_filter (int key, const char *text, - void *input ATTRIBUTE_UNUSED) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" +static char *help_filter (int key, const char *text, void *input _GL_UNUSED) { switch (key) { case ARGP_KEY_HELP_PRE_DOC: @@ -105,6 +104,7 @@ static char *help_filter (int key, const char *text, return (char *) text; } } +#pragma GCC diagnostic pop static struct argp argp = { options, parse_opt, args_doc, doc, 0, help_filter }; @@ -135,6 +135,7 @@ int main (int argc, char *argv[]) } if (!dbf) error (FATAL, errno, _("can't open %s for reading"), database); + assert (dbf); /* help the compiler prove that later accesses are OK */ key = MYDBM_FIRSTKEY (dbf); diff --git a/src/catman.c b/src/catman.c index c58ef6c0..00d0771c 100644 --- a/src/catman.c +++ b/src/catman.c @@ -76,7 +76,6 @@ #include "error.h" #include "glcontainers.h" #include "pipeline.h" -#include "sandbox.h" #include "mydbm.h" #include "db_storage.h" @@ -88,8 +87,6 @@ int quiet = 1; MYDBM_FILE dbf_close_post_fork; char *manp; extern char *user_config_file; -char *database; -man_sandbox *sandbox; /* unused, but needed by libman */ static const char **sections; @@ -214,7 +211,7 @@ static size_t add_arg (pipecmd *cmd, datum key) *tab = '\0'; pipecmd_arg (cmd, MYDBM_DPTR (key)); len = strlen (MYDBM_DPTR (key)); - debug ("key: '%s' (%zu), len: %zd\n", + debug ("key: '%s' (%zu), len: %zu\n", MYDBM_DPTR (key), (size_t) MYDBM_DSIZE (key), len); if (tab) *tab = '\t'; @@ -224,7 +221,8 @@ static size_t add_arg (pipecmd *cmd, datum key) /* find all pages that are in the supplied manpath and section and that are ultimate source files. */ -static int parse_for_sec (const char *manpath, const char *section) +static int parse_for_sec (const char *database, + const char *manpath, const char *section) { MYDBM_FILE dbf; pipecmd *basecmd, *cmd; @@ -284,7 +282,8 @@ static int parse_for_sec (const char *manpath, const char *section) if (*MYDBM_DPTR (content) != '\t') { struct mandata entry; - split_content (MYDBM_DPTR (content), &entry); + split_content (dbf, MYDBM_DPTR (content), + &entry); /* Accept if the entry is an ultimate manual page and the section matches the one we're @@ -299,7 +298,7 @@ static int parse_for_sec (const char *manpath, const char *section) arg_size += add_arg (cmd, key) + 1; - debug ("arg space free: %zd bytes\n", + debug ("arg space free: %zu bytes\n", ARG_MAX - arg_size); /* Check to see if we have enough room @@ -395,7 +394,7 @@ int main (int argc, char *argv[]) manpathlist = create_pathlist (manp); GL_LIST_FOREACH_START (manpathlist, mp) { - char *catpath; + char *catpath, *database; size_t len; catpath = get_catpath (mp, SYSTEM_CAT | USER_CAT); @@ -422,12 +421,13 @@ int main (int argc, char *argv[]) continue; if (check_access (catpath)) continue; - if (parse_for_sec (mp, *sp)) { + if (parse_for_sec (database, mp, *sp)) { error (0, 0, _("unable to update %s"), mp); break; } } - + + free (database); free (catpath); } GL_LIST_FOREACH_END (manpathlist); diff --git a/src/check_mandirs.c b/src/check_mandirs.c index 5aba37cb..d28a6be7 100644 --- a/src/check_mandirs.c +++ b/src/check_mandirs.c @@ -101,11 +101,23 @@ static void gripe_multi_extensions (const char *path, const char *sec, path, sec, name, ext); } -static void gripe_rwopen_failed (void) +/* Test whether an errno value is EAGAIN or (on systems where it differs) + * EWOULDBLOCK. This is a separate function mainly in order to be able to + * control GCC diagnostics in one place. + */ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wlogical-op" +static inline bool is_eagain (int err) +{ + return err == EAGAIN || err == EWOULDBLOCK; +} +#pragma GCC diagnostic pop + +static void gripe_rwopen_failed (const char *database) { if (errno == EACCES || errno == EROFS) debug ("database %s is read-only\n", database); - else if (errno == EAGAIN || errno == EWOULDBLOCK) + else if (is_eagain (errno)) debug ("database %s is locked by another process\n", database); else { #ifdef MAN_DB_UPDATES @@ -379,7 +391,7 @@ void chown_if_possible (const char *path) } } #else /* !MAN_OWNER */ -void chown_if_possible (const char *path ATTRIBUTE_UNUSED) +void chown_if_possible (const char *path _GL_UNUSED) { } #endif /* MAN_OWNER */ @@ -480,7 +492,8 @@ static void fix_permissions_tree (const char *catdir) * any dirs of the tree that have been modified (ie added to) will then be * scanned for new files, which are then added to the db. */ -static int testmandirs (const char *path, const char *catpath, +static int testmandirs (const char *database, + const char *path, const char *catpath, struct timespec last, int create) { DIR *dir; @@ -564,7 +577,7 @@ static int testmandirs (const char *path, const char *catpath, dbf = MYDBM_RWOPEN(database); if (!dbf) { - gripe_rwopen_failed (); + gripe_rwopen_failed (database); closedir (dir); return 0; } @@ -590,7 +603,7 @@ static int testmandirs (const char *path, const char *catpath, } /* update the modification timestamp of `database' */ -static void update_db_time (void) +static void update_db_time (const char *database) { MYDBM_FILE dbf; struct timespec now; @@ -599,7 +612,7 @@ static void update_db_time (void) /* we know that this should succeed because we just updated the db! */ dbf = MYDBM_RWOPEN (database); if (dbf == NULL) { - if (errno == EAGAIN || errno == EWOULDBLOCK) + if (is_eagain (errno)) /* Another mandb process is probably running. With * any luck it will update the mtime ... */ @@ -623,7 +636,7 @@ static void update_db_time (void) } /* routine to prepare/create the db prior to calling testmandirs() */ -int create_db (const char *manpath, const char *catpath) +int create_db (const char *database, const char *manpath, const char *catpath) { struct timespec time_zero; int amount; @@ -632,10 +645,10 @@ int create_db (const char *manpath, const char *catpath) time_zero.tv_sec = 0; time_zero.tv_nsec = 0; - amount = testmandirs (manpath, catpath, time_zero, 1); + amount = testmandirs (database, manpath, catpath, time_zero, 1); if (amount) { - update_db_time (); + update_db_time (database); if (!quiet) fputs (_("done.\n"), stderr); } @@ -658,7 +671,7 @@ static bool sanity_check_db (MYDBM_FILE dbf) content = MYDBM_FETCH (dbf, key); if (!MYDBM_DPTR (content)) { debug ("warning: %s has a key with no content (%s); " - "rebuilding\n", database, MYDBM_DPTR (key)); + "rebuilding\n", dbf->name, MYDBM_DPTR (key)); MYDBM_FREE_DPTR (key); return false; } @@ -673,7 +686,7 @@ static bool sanity_check_db (MYDBM_FILE dbf) /* routine to update the db, ensure that it is consistent with the filesystem */ -int update_db (const char *manpath, const char *catpath) +int update_db (const char *database, const char *manpath, const char *catpath) { MYDBM_FILE dbf; struct timespec mtime; @@ -693,10 +706,10 @@ int update_db (const char *manpath, const char *catpath) debug ("update_db(): %ld.%09ld\n", (long) mtime.tv_sec, (long) mtime.tv_nsec); - new = testmandirs (manpath, catpath, mtime, 0); + new = testmandirs (database, manpath, catpath, mtime, 0); if (new) { - update_db_time (); + update_db_time (database); if (!quiet) fputs (_("done.\n"), stderr); } @@ -736,7 +749,7 @@ void purge_pointers (MYDBM_FILE dbf, const char *name) if (*MYDBM_DPTR (content) == '\t') goto pointers_contentnext; - split_content (MYDBM_DPTR (content), &entry); + split_content (dbf, MYDBM_DPTR (content), &entry); if (entry.id != SO_MAN && entry.id != WHATIS_MAN) goto pointers_contentnext; @@ -935,7 +948,8 @@ static int check_multi_key (const char *name, const char *content) /* Go through the database and purge references to man pages that no longer * exist. */ -int purge_missing (const char *manpath, const char *catpath, +int purge_missing (const char *database, + const char *manpath, const char *catpath, int will_run_mandb) { #ifdef NDBM @@ -964,7 +978,7 @@ int purge_missing (const char *manpath, const char *catpath, dbf = MYDBM_RWOPEN (database); if (!dbf) { - gripe_rwopen_failed (); + gripe_rwopen_failed (database); return 0; } if (!sanity_check_db (dbf)) { @@ -1017,7 +1031,7 @@ int purge_missing (const char *manpath, const char *catpath, continue; } - split_content (MYDBM_DPTR (content), &entry); + split_content (dbf, MYDBM_DPTR (content), &entry); save_debug = debug_level; debug_level = false; /* look_for_file() is quite noisy */ diff --git a/src/check_mandirs.h b/src/check_mandirs.h index c6565ac4..4ed12b1e 100644 --- a/src/check_mandirs.h +++ b/src/check_mandirs.h @@ -25,8 +25,11 @@ /* check_mandirs.c */ extern void test_manfile (MYDBM_FILE dbf, const char *file, const char *path); extern void chown_if_possible (const char *path); -extern int create_db (const char *manpath, const char *catpath); -extern int update_db (const char *manpath, const char *catpath); +extern int create_db (const char *database, + const char *manpath, const char *catpath); +extern int update_db (const char *database, + const char *manpath, const char *catpath); extern void purge_pointers (MYDBM_FILE dbf, const char *name); -extern int purge_missing (const char *manpath, const char *catpath, +extern int purge_missing (const char *database, + const char *manpath, const char *catpath, int will_run_mandb); diff --git a/src/compression.c b/src/compression.c index 70635670..73bce776 100644 --- a/src/compression.c +++ b/src/compression.c @@ -39,9 +39,6 @@ #include "xvasprintf.h" -#include "gettext.h" -#define _(String) gettext (String) - #include "manconfig.h" #ifdef COMP_SRC /* must come after manconfig.h */ diff --git a/lib/decompress.c b/src/decompress.c index 15dda5b4..5cee5ff7 100644 --- a/lib/decompress.c +++ b/src/decompress.c @@ -46,7 +46,7 @@ #ifdef HAVE_LIBZ -static void decompress_zlib (void *data ATTRIBUTE_UNUSED) +static void decompress_zlib (void *data _GL_UNUSED) { gzFile zlibfile; int fd; diff --git a/lib/decompress.h b/src/decompress.h index 35f7c516..35f7c516 100644 --- a/lib/decompress.h +++ b/src/decompress.h diff --git a/src/descriptions.c b/src/descriptions.c index 09295b8e..5184611d 100644 --- a/src/descriptions.c +++ b/src/descriptions.c @@ -34,7 +34,7 @@ #include "descriptions.h" /* Free a page description. */ -void page_description_free (const void *value) +static void page_description_free (const void *value) { struct page_description *desc = (struct page_description *) value; diff --git a/src/globbing_test.c b/src/globbing_test.c index 5f0878fa..7133c05d 100644 --- a/src/globbing_test.c +++ b/src/globbing_test.c @@ -34,7 +34,6 @@ #include "progname.h" #include "gettext.h" -#define _(String) gettext (String) #define N_(String) gettext_noop (String) #include "manconfig.h" @@ -42,9 +41,6 @@ #include "error.h" #include "glcontainers.h" #include "globbing.h" -#include "sandbox.h" - -man_sandbox *sandbox; /* unused, but needed by libman */ extern const char *extension; static bool match_case = false; diff --git a/src/lexgrog.c b/src/lexgrog.c index 7915d7d4..ca6033a7 100644 --- a/src/lexgrog.c +++ b/src/lexgrog.c @@ -2,7 +2,14 @@ # include "config.h" #endif /* HAVE_CONFIG_H */ -#line 6 "lexgrog.c" +/* Flex emits several functions which might reasonably have various + * attributes applied and many unused macros; none of these are our problem. + */ +#pragma GCC diagnostic ignored "-Wsuggest-attribute=malloc" +#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +#pragma GCC diagnostic ignored "-Wunused-macros" + +#line 13 "../../../src/lexgrog.c" #define YY_INT_ALIGNED short int @@ -366,7 +373,7 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static const flex_int16_t yy_accept[1410] = +static const flex_int16_t yy_accept[1436] = { 0, 0, 0, 0, 0, 65, 65, 65, 65, 0, 0, 0, 0, 0, 0, 0, 0, 117, 117, 0, 0, @@ -408,121 +415,124 @@ static const flex_int16_t yy_accept[1410] = 0, 124, 38, 38, 124, 38, 38, 38, 38, 37, 54, 7, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 5, 3, 3, 4, 4, 4, 3, 0, - 0, 0, 0, 0, 16, 0, 21, 27, 27, 27, - 27, 20, 27, 27, 27, 56, 0, 0, 0, 36, + 0, 0, 7, 5, 3, 3, 4, 4, 4, 3, + 0, 0, 0, 0, 0, 16, 0, 21, 27, 27, + 27, 27, 20, 27, 27, 27, 56, 0, 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 51, 41, 0, - 0, 0, 0, 0, 126, 58, 0, 128, 47, 127, - 0, 0, 30, 0, 0, 0, 125, 34, 53, 0, - 35, 33, 52, 32, 49, 82, 71, 61, 55, 62, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 51, 41, + 0, 0, 0, 0, 0, 126, 58, 0, 128, 47, + 127, 0, 0, 30, 0, 0, 0, 125, 34, 53, + 0, 35, 33, 52, 32, 49, 82, 71, 61, 55, + 62, 66, 0, 0, 0, 0, 0, 0, 0, 0, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 83, 0, 85, 90, 86, 87, 88, 89, 63, 91, - 100, 101, 102, 103, 0, 0, 0, 114, 112, 0, - 38, 38, 38, 38, 37, 38, 38, 7, 0, 0, + 36, 83, 0, 85, 90, 86, 87, 88, 89, 63, + 91, 100, 101, 102, 103, 0, 0, 0, 114, 112, + 0, 38, 38, 38, 38, 37, 38, 38, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 7, 5, 3, 3, 4, 4, 4, 0, 3, - 3, 12, 14, 13, 15, 11, 17, 21, 25, 26, - 20, 22, 24, 23, 55, 36, 36, 36, 36, 36, + 0, 0, 0, 7, 5, 3, 3, 4, 4, 4, + 0, 3, 3, 12, 14, 13, 15, 11, 17, 21, + 25, 26, 20, 22, 24, 23, 55, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 30, 36, 36, 36, 36, 34, 36, + 36, 36, 36, 36, 36, 30, 36, 36, 36, 36, - 36, 35, 33, 36, 32, 36, 36, 36, 36, 36, + 34, 36, 36, 35, 33, 36, 32, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 40, 130, 129, 45, 126, 58, 46, 47, 127, 132, - 131, 30, 42, 44, 31, 125, 34, 34, 53, 43, - 35, 33, 52, 32, 82, 55, 72, 0, 69, 78, - 80, 36, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 83, 84, 85, 90, 86, 87, 88, 89, - 0, 108, 0, 114, 115, 112, 113, 38, 38, 7, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 36, 36, 40, 130, 129, 45, 126, 58, 46, 47, + 127, 132, 131, 30, 42, 44, 31, 125, 34, 34, + 53, 43, 35, 33, 52, 32, 82, 55, 72, 0, + 69, 78, 80, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 83, 84, 85, 90, 86, 87, + 88, 89, 0, 108, 0, 114, 115, 112, 113, 38, + 38, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 3, 3, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 7, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, + 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3, 3, 25, 26, 22, - 24, 23, 36, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 30, 36, - 36, 31, 36, 34, 34, 36, 36, 35, 33, 36, - 32, 36, 36, 36, 36, 36, 36, 36, 36, 36, - - 36, 36, 130, 129, 45, 132, 131, 44, 43, 80, - 36, 36, 36, 36, 36, 36, 36, 36, 36, 84, - 107, 108, 109, 115, 113, 7, 0, 0, 0, 0, + 3, 3, 25, 26, 22, 24, 23, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 30, 36, 36, 31, 36, 34, 34, + 36, 36, 35, 33, 36, 32, 36, 36, 36, 36, + + 36, 36, 36, 36, 36, 36, 36, 130, 129, 45, + 132, 131, 44, 43, 80, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 84, 107, 108, 109, 115, 113, + 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, + 0, 0, 0, 0, 7, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 36, 36, 36, 36, 36, 36, 36, - 36, 36, 36, 36, 36, 36, 36, 36, 107, 109, - 7, 0, 2, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 3, 36, 36, 36, 36, 36, 36, 36, 36, + 36, 36, 36, 36, 36, 36, 36, 107, 109, 7, + 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 1, 4, 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3, 36, 7, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 3, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 0, 0, 0, 0, 0, 0, 3, 36, 7, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 7, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 1, 1, 4, 4, 4, 4, 4, 4, 1, + 4, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 1, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 0, 1, 1, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, + 1, 4, 4, 4, 4, 4, 4, 1, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 0, 1, 1, 0, 0, 0, + 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 7, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 7, 3, + 3, 4, 4, 1, 0, 1, 0, 0, 0, 0, + 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, + 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, + 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 7, 3, 3, - 4, 4, 1, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 8, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, - 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, + 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, + 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, + 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0 + 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, + 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0 } ; static const YY_CHAR yy_ec[256] = @@ -541,23 +551,23 @@ static const YY_CHAR yy_ec[256] = 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 6, 85, 6, 86, 1, 1, 87, 1, - 1, 88, 89, 1, 1, 1, 90, 91, 1, 1, - 92, 1, 1, 93, 94, 95, 1, 1, 96, 1, - 97, 98, 1, 1, 1, 99, 100, 101, 1, 1, - 102, 1, 1, 103, 1, 104, 105, 106, 107, 108, - 1, 1, 109, 1, 110, 111, 112, 1, 1, 113, - 1, 1, 1, 1, 114, 1, 115, 1, 116, 117, - 1, 1, 1, 1, 118, 119, 1, 1, 1, 1, - - 1, 1, 1, 120, 1, 1, 1, 121, 1, 1, + 1, 88, 89, 90, 1, 1, 91, 92, 1, 1, + 93, 1, 1, 94, 95, 96, 1, 1, 97, 1, + 98, 99, 1, 1, 1, 100, 101, 102, 1, 1, + 103, 1, 1, 104, 1, 105, 106, 107, 108, 109, + 1, 1, 110, 111, 112, 113, 114, 1, 1, 115, + 1, 1, 1, 1, 116, 1, 117, 1, 118, 119, + 1, 1, 1, 1, 120, 121, 1, 1, 1, 1, + + 1, 1, 1, 122, 1, 1, 1, 123, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 122, 123, 1, - 124, 1, 1, 1, 125, 126, 1, 1, 1, 1, + 1, 1, 1, 124, 1, 1, 1, 125, 126, 1, + 127, 1, 1, 1, 128, 129, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static const YY_CHAR yy_meta[127] = +static const YY_CHAR yy_meta[130] = { 0, 1, 2, 3, 4, 2, 1, 5, 1, 1, 1, 6, 7, 1, 1, 1, 1, 1, 1, 8, 9, @@ -572,372 +582,376 @@ static const YY_CHAR yy_meta[127] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static const flex_int16_t yy_base[1593] = +static const flex_int16_t yy_base[1619] = { 0, - 0, 0, 0, 2, 6, 0, 131, 135, 138, 139, - 219, 0, 345, 0, 137, 468, 5110, 5109, 546, 0, - 672, 0, 798, 0, 142, 151, 146, 159, 161, 162, - 0, 0, 166, 171, 5107, 5106, 5109, 7208, 7208, 191, - 5105, 7208, 471, 478, 923, 5052, 5051, 176, 5088, 0, - 976, 934, 941, 5101, 186, 7208, 5100, 5081, 187, 477, - 7208, 5089, 0, 7208, 5087, 152, 199, 7208, 5085, 5020, - 5023, 5026, 0, 7208, 5081, 0, 7208, 5080, 0, 7208, - 5079, 0, 946, 952, 5077, 489, 213, 5073, 5020, 0, - 506, 5046, 5043, 7208, 5044, 4991, 964, 0, 501, 5038, - - 7208, 5037, 518, 513, 5036, 0, 1030, 525, 1009, 1065, - 530, 5021, 930, 7208, 1081, 1085, 1106, 4982, 4981, 5018, - 1160, 920, 1113, 5025, 4946, 532, 537, 0, 7208, 936, - 0, 1121, 7208, 1093, 919, 927, 7208, 956, 0, 4952, - 7208, 7208, 5017, 0, 5016, 5020, 1160, 964, 1133, 987, - 1019, 1231, 5023, 1197, 1143, 1248, 1198, 7208, 7208, 4945, - 982, 1171, 995, 1015, 1027, 1042, 1076, 1090, 1099, 7208, - 0, 7208, 4954, 4960, 4959, 1117, 1124, 7208, 4943, 4948, - 4953, 0, 7208, 0, 7208, 0, 7208, 0, 1239, 1214, - 1268, 5013, 1149, 1276, 5014, 1230, 5011, 4958, 1286, 1293, - - 1297, 5011, 1263, 7208, 0, 1302, 1321, 5010, 1306, 5007, - 7208, 5004, 5003, 5002, 5001, 1307, 5000, 0, 1096, 5003, - 1302, 1109, 7208, 7208, 4993, 1317, 4991, 0, 1310, 1325, - 4921, 448, 1331, 4919, 1074, 4912, 1328, 1165, 1221, 1396, - 1413, 1417, 4986, 1421, 1450, 973, 996, 154, 1504, 1579, - 1314, 7208, 4985, 1367, 4944, 1430, 4943, 129, 1169, 1349, - 1431, 4912, 1150, 0, 4906, 4918, 447, 1183, 4889, 1444, - 7208, 4940, 1335, 0, 4938, 1346, 0, 7208, 0, 4891, - 407, 4886, 4861, 4876, 4863, 4871, 7208, 0, 0, 1391, - 0, 0, 7208, 0, 7208, 7208, 0, 7208, 0, 1580, - - 7208, 1426, 0, 1460, 482, 4937, 1384, 4936, 1664, 1739, - 4858, 1480, 4860, 4852, 1009, 4851, 4850, 469, 4848, 4863, - 1402, 1404, 1431, 1443, 1456, 1482, 1484, 1486, 1490, 1496, - 1497, 1498, 1515, 4855, 4850, 4847, 4863, 4852, 4851, 1526, - 1532, 1539, 0, 1556, 1575, 4920, 1563, 4917, 4864, 7208, - 1620, 0, 1824, 4917, 1833, 1846, 4916, 901, 4878, 1150, - 1166, 1662, 4889, 4798, 4869, 4803, 4796, 85, 1012, 4804, - 4811, 4905, 0, 4893, 4889, 4888, 4886, 1668, 4885, 4847, - 4868, 4840, 4863, 4836, 7208, 4833, 0, 1521, 1558, 1565, - 1567, 1607, 1608, 1612, 1614, 1626, 1061, 4795, 4808, 4871, - - 1684, 1759, 1237, 1767, 1828, 1372, 1280, 1674, 1678, 4868, - 1852, 1349, 1876, 1407, 1205, 1841, 1863, 1922, 1272, 1705, - 2003, 957, 1364, 1426, 1724, 1510, 1935, 4867, 1735, 0, - 1908, 4864, 4863, 1914, 4853, 1715, 4861, 1772, 1015, 4860, - 4859, 2045, 2071, 2144, 1467, 2000, 1899, 7208, 1910, 1631, - 1642, 1728, 1750, 1777, 1790, 1791, 1802, 1837, 1854, 1918, - 1934, 1935, 1958, 1959, 1973, 1981, 1987, 1993, 0, 1989, - 1995, 2002, 0, 2006, 0, 2056, 7208, 7208, 2057, 7208, - 7208, 0, 0, 4850, 4803, 0, 0, 4851, 4846, 4852, - 2226, 1136, 2196, 1477, 1466, 1770, 1572, 1632, 2171, 4851, - - 2067, 4771, 2123, 2124, 2155, 2156, 2157, 2161, 7208, 2162, - 2163, 2233, 2238, 2244, 4786, 4791, 4786, 2246, 2250, 4785, - 0, 2251, 2255, 4841, 0, 2259, 0, 0, 2279, 4842, - 2288, 1458, 4812, 2222, 1644, 2283, 1642, 1683, 1720, 2290, - 2251, 4794, 4751, 1083, 1215, 4719, 4718, 4746, 4721, 4747, - 4722, 4829, 0, 4826, 4824, 4822, 4818, 2413, 2538, 4814, - 4809, 7208, 7208, 7208, 7208, 7208, 7208, 0, 0, 0, - 2260, 0, 0, 0, 2261, 2236, 0, 1665, 2284, 2293, - 2342, 2354, 2363, 2370, 2374, 2378, 2382, 2386, 2390, 2419, - 2423, 2427, 2431, 2435, 2441, 2456, 2460, 2464, 2468, 0, - - 2472, 2476, 2480, 0, 2484, 0, 4811, 0, 4743, 1385, - 4741, 4713, 4725, 4711, 4691, 4757, 0, 2488, 1220, 4756, - 2662, 4755, 4754, 2688, 4753, 1778, 2481, 4752, 2507, 1521, - 7208, 0, 0, 0, 2269, 2274, 2292, 2308, 2332, 0, - 0, 2346, 2392, 0, 2401, 2443, 2450, 2490, 0, 0, - 2492, 2509, 0, 2511, 2515, 2517, 7208, 4698, 7208, 7208, - 0, 2521, 1803, 2525, 2544, 2548, 2552, 2556, 2560, 1695, - 4670, 4684, 2564, 2566, 2568, 2575, 2581, 2582, 2586, 2587, - 4691, 2592, 4679, 2593, 2594, 2598, 2599, 2604, 2608, 0, - 1800, 2612, 1836, 4734, 1800, 1882, 2129, 2590, 2130, 2346, - - 2194, 2621, 2234, 2771, 2268, 4715, 4699, 4698, 4626, 4644, - 4602, 4607, 4612, 2664, 4581, 4575, 4572, 4688, 0, 0, - 0, 0, 2833, 2772, 2301, 4652, 2370, 2466, 2757, 4661, - 4570, 1839, 4640, 4573, 4566, 872, 1848, 4572, 4579, 2812, - 2489, 4630, 2485, 2558, 2854, 4641, 4550, 1952, 4620, 4554, - 4547, 1529, 1970, 4536, 4543, 0, 0, 0, 0, 0, - 0, 0, 1999, 1509, 1617, 0, 2625, 4636, 0, 0, - 0, 2630, 2634, 2638, 2642, 2649, 0, 0, 2665, 2669, - 0, 2673, 2677, 2681, 2740, 0, 0, 2775, 2779, 0, - 2789, 4635, 4633, 2793, 4632, 4631, 0, 1535, 2970, 2996, - - 1827, 1915, 0, 0, 0, 0, 0, 0, 0, 0, - 2802, 2820, 2840, 2855, 2861, 2882, 2899, 2903, 4629, 2683, - 2781, 2809, 2816, 2824, 2842, 0, 2583, 2907, 2849, 4627, - 2587, 4590, 4551, 2614, 2601, 2920, 2624, 4568, 4502, 4481, - 4469, 4468, 2709, 2179, 2766, 4465, 4464, 4473, 4568, 0, - 0, 3079, 3056, 2747, 4524, 2757, 2814, 3062, 4535, 4444, - 2387, 4514, 4448, 4441, 1634, 2821, 4426, 4431, 2797, 4498, - 2871, 2827, 2911, 2840, 2876, 2878, 3078, 2855, 4480, 4437, - 3194, 3144, 1324, 2805, 4405, 4374, 4402, 4377, 4403, 4374, - 2866, 4454, 2933, 2895, 3220, 2891, 2903, 2904, 3221, 2876, - - 4436, 4392, 4469, 3168, 1583, 2845, 4356, 4351, 4376, 4324, - 4350, 4325, 0, 2974, 2982, 0, 0, 0, 0, 0, - 0, 0, 3086, 4430, 4429, 4428, 3107, 3136, 2988, 2992, - 0, 2925, 3048, 3069, 3070, 3056, 4393, 3140, 1886, 2883, - 4318, 3008, 4326, 4311, 4308, 4315, 4308, 4326, 4399, 0, - 0, 3304, 3235, 3085, 4362, 3084, 3115, 3257, 4368, 4277, - 2467, 4348, 4281, 4273, 1796, 3057, 4270, 4273, 3100, 4340, - 3231, 3131, 3324, 3170, 3180, 3181, 3325, 3208, 4321, 4277, - 3419, 3395, 1909, 3033, 4245, 4243, 4243, 4218, 4243, 4214, - 3221, 3312, 3215, 4314, 2279, 3215, 3225, 3307, 3225, 3231, - - 3253, 3321, 3295, 3471, 3279, 4297, 4281, 3507, 3446, 3366, - 3455, 4278, 4206, 4222, 4206, 4209, 4214, 3257, 4170, 4165, - 4165, 3305, 3430, 3297, 4277, 2548, 3330, 3342, 3449, 3356, - 3438, 3352, 3509, 3371, 3577, 3441, 4260, 4243, 0, 3556, - 3593, 3598, 4242, 4166, 4179, 4162, 4166, 4170, 3320, 4140, - 4134, 4132, 0, 3205, 0, 3462, 4207, 3396, 3502, 4119, - 4114, 4116, 3584, 3626, 3644, 4098, 3652, 4209, 4206, 4201, - 3723, 3700, 3563, 170, 3492, 3570, 3636, 2343, 2530, 3594, - 499, 2320, 2163, 3336, 3080, 1020, 2783, 3520, 1487, 3635, - 3629, 3728, 3603, 3554, 3644, 3744, 3598, 2553, 1939, 2849, - - 3838, 3093, 3322, 1689, 2298, 1667, 2296, 1779, 2120, 3659, - 3513, 3667, 2934, 3517, 3689, 3662, 3741, 3673, 3725, 3699, - 3687, 3555, 3845, 3704, 3100, 2394, 4193, 3844, 3810, 3881, - 2383, 2465, 2858, 958, 1915, 1891, 3769, 2450, 2508, 2371, - 3637, 3784, 3800, 3737, 3743, 2795, 3147, 3706, 3751, 3865, - 3834, 3311, 3918, 3206, 2682, 2355, 3202, 3133, 3576, 3686, - 3785, 3847, 1547, 3419, 3583, 3802, 3896, 3253, 2830, 3798, - 4182, 4137, 3848, 3833, 3927, 3850, 4154, 4173, 4097, 4108, - 4079, 4048, 4037, 4035, 3356, 3237, 3424, 4031, 4028, 4018, - 4113, 7208, 3842, 4068, 3564, 4004, 3940, 3952, 3956, 3969, - - 3973, 3981, 3985, 3989, 3993, 4006, 4001, 4078, 0, 0, - 7208, 3976, 3658, 3865, 3793, 4069, 4013, 3864, 3870, 3855, - 4044, 4027, 4053, 4013, 3101, 3792, 3932, 3810, 3932, 3911, - 3909, 3900, 3872, 3891, 0, 0, 3871, 3926, 3830, 3826, - 3825, 4022, 4053, 4057, 3831, 3907, 3896, 0, 4062, 4051, - 4077, 3845, 4066, 4069, 0, 4078, 4106, 4121, 3758, 3747, - 3745, 4122, 4128, 4132, 3716, 4136, 3908, 3794, 3725, 3716, - 3698, 3973, 4128, 3706, 3715, 3710, 4132, 3968, 3639, 4155, - 4161, 4162, 4168, 4177, 4200, 4204, 4213, 4217, 4223, 4224, - 4231, 4232, 3627, 4066, 3670, 3591, 4240, 3589, 4099, 4278, - - 3674, 3621, 3529, 3500, 3487, 4251, 4308, 4360, 4259, 4414, - 4386, 4268, 4468, 4520, 3508, 3498, 3423, 4124, 4529, 4244, - 0, 4245, 3489, 3416, 3316, 3310, 4574, 4269, 4626, 4278, - 4680, 4314, 4635, 4369, 4734, 4423, 4786, 4469, 3273, 3236, - 4147, 4377, 3304, 3215, 4477, 3200, 4545, 4740, 4792, 4549, - 4796, 4813, 4562, 4817, 4821, 3179, 3167, 3118, 3101, 4882, - 4926, 4978, 5022, 5074, 5118, 3065, 3031, 3009, 2974, 5170, - 4531, 5198, 4586, 5197, 4689, 5225, 4693, 5277, 4697, 5305, - 4825, 2958, 2957, 2832, 2777, 4575, 4651, 4655, 2696, 2623, - 2560, 2527, 2486, 2469, 2427, 2355, 2339, 2267, 2188, 1889, - - 1850, 1758, 1487, 1444, 1382, 1351, 1208, 1162, 7208, 5358, - 5369, 5380, 5391, 5402, 5413, 5424, 5435, 5446, 5457, 5468, - 5472, 5483, 5494, 5505, 5516, 5527, 5538, 5549, 5560, 5571, - 5582, 5593, 5604, 5608, 5619, 5630, 5641, 5652, 5657, 5658, - 5663, 5674, 5685, 5696, 5707, 5718, 5729, 5740, 5751, 5762, - 5773, 5784, 5795, 5806, 1111, 5817, 5828, 5839, 5850, 5861, - 5872, 5883, 5894, 1062, 5896, 5907, 5918, 5929, 5940, 5951, - 5962, 5973, 5984, 5995, 6006, 6017, 6028, 6039, 6050, 6061, - 6072, 6083, 6094, 6105, 6116, 1033, 6118, 6129, 6140, 6151, - 6162, 6173, 6184, 6195, 6206, 6217, 6228, 6239, 6250, 6261, - - 6272, 6283, 6294, 6305, 6316, 6327, 6338, 6349, 6360, 6371, - 6382, 6393, 6404, 6415, 6426, 6437, 6448, 6459, 6470, 6481, - 6492, 6503, 6514, 6525, 6536, 6547, 6558, 6569, 6580, 6591, - 6602, 6613, 6624, 6635, 6646, 6657, 6668, 6679, 6690, 6701, - 6712, 6723, 6734, 6745, 6756, 6767, 6778, 6789, 6800, 6811, - 6822, 6833, 6844, 6855, 6866, 6877, 6888, 6899, 6910, 6921, - 6932, 6937, 6947, 6958, 6969, 6980, 6991, 7002, 7013, 7024, - 7035, 7046, 7057, 7068, 967, 7079, 7090, 7101, 7112, 7123, - 7134, 7141, 7151, 7156, 7160, 508, 502, 7170, 7181, 7192, - 7197, 195 - + 0, 0, 0, 2, 6, 0, 134, 138, 141, 142, + 222, 0, 351, 0, 140, 477, 5190, 5188, 555, 0, + 684, 0, 813, 0, 145, 154, 149, 162, 164, 165, + 0, 0, 169, 174, 5186, 5185, 5188, 7311, 7311, 194, + 5184, 7311, 480, 487, 941, 5131, 5130, 179, 5166, 0, + 994, 952, 959, 5178, 189, 7311, 5177, 5131, 190, 486, + 7311, 5148, 0, 7311, 5147, 155, 202, 7311, 5146, 5077, + 5080, 5083, 0, 7311, 5138, 0, 7311, 5137, 0, 7311, + 5136, 0, 964, 970, 5135, 498, 216, 5130, 5077, 0, + 515, 5130, 5127, 7311, 5128, 5075, 982, 0, 510, 5126, + + 7311, 5125, 527, 522, 5124, 0, 1048, 534, 1027, 1083, + 539, 5109, 948, 7311, 1099, 1103, 1124, 5070, 5069, 5106, + 1178, 938, 1131, 5115, 5036, 541, 546, 0, 7311, 954, + 0, 1139, 7311, 1111, 937, 945, 7311, 974, 0, 5042, + 7311, 7311, 5107, 0, 5106, 5110, 1178, 982, 1151, 1005, + 1037, 1249, 5113, 1215, 1161, 1266, 1216, 7311, 7311, 5035, + 1000, 1189, 1013, 1033, 1045, 1060, 1094, 1108, 1117, 7311, + 0, 7311, 5044, 5050, 5049, 1135, 1142, 7311, 5033, 5038, + 5043, 0, 7311, 0, 7311, 0, 7311, 0, 1257, 1232, + 1286, 5094, 1167, 1294, 5094, 1248, 5090, 5037, 1304, 1311, + + 1315, 5090, 1281, 7311, 0, 1320, 1339, 5089, 1324, 5086, + 7311, 5083, 5082, 5080, 5078, 1325, 5077, 0, 1114, 5053, + 1320, 1127, 7311, 7311, 5052, 1335, 5051, 0, 1328, 1343, + 4982, 457, 1349, 4976, 1092, 4969, 1346, 1183, 1239, 1414, + 1431, 1435, 5043, 1439, 1468, 991, 1014, 157, 1522, 1597, + 1332, 7311, 5042, 1385, 5001, 1448, 5000, 132, 1187, 1367, + 1449, 4970, 1168, 0, 4963, 4975, 456, 1201, 4973, 1462, + 7311, 5024, 1353, 0, 5022, 1364, 0, 7311, 0, 4975, + 416, 4974, 4949, 4964, 4951, 4959, 7311, 0, 0, 1409, + 0, 0, 7311, 0, 7311, 7311, 0, 7311, 0, 1598, + + 7311, 1444, 0, 1478, 491, 5025, 1402, 5024, 1682, 1757, + 4948, 1498, 4950, 4942, 1027, 4941, 4940, 478, 4938, 4953, + 1420, 1422, 1449, 1474, 1500, 1502, 1504, 1508, 1514, 1515, + 1516, 1533, 1539, 4945, 4940, 4937, 4953, 4942, 4941, 1544, + 1550, 1557, 0, 1574, 1593, 5010, 1581, 4998, 4942, 7311, + 1638, 0, 1842, 4995, 1851, 1864, 4993, 919, 4955, 1168, + 1184, 1680, 4966, 4871, 4943, 4873, 4866, 87, 4871, 1029, + 4872, 4877, 4972, 0, 4967, 4966, 4963, 4962, 1686, 4961, + 4923, 4946, 4919, 4944, 4916, 7311, 4915, 0, 1576, 1583, + 1585, 1625, 1626, 1630, 1632, 1644, 1649, 1079, 4877, 4891, + + 4954, 1702, 1777, 1255, 1785, 1846, 1390, 1298, 1692, 1696, + 4953, 1870, 1367, 1894, 1444, 1223, 1859, 1881, 1949, 1290, + 1723, 2030, 975, 1382, 1642, 1742, 1508, 1948, 4952, 1753, + 0, 1933, 4950, 4949, 1940, 4939, 1733, 4946, 1790, 1033, + 4945, 4944, 2072, 2098, 2171, 1485, 2020, 1917, 7311, 1928, + 1660, 1746, 1768, 1808, 1809, 1820, 1855, 1872, 1924, 1936, + 1938, 1942, 1944, 2002, 2007, 2008, 2015, 2016, 2254, 0, + 2022, 2046, 2047, 0, 2048, 0, 2052, 7311, 7311, 2083, + 7311, 7311, 0, 0, 4935, 4889, 0, 0, 4936, 4931, + 4938, 2257, 1154, 2262, 1353, 1455, 1788, 1528, 1590, 2207, + + 4937, 2084, 4857, 2085, 2094, 2150, 2151, 2182, 2183, 7311, + 2184, 2188, 2189, 2190, 2223, 4872, 4878, 4873, 2256, 2224, + 4871, 0, 2277, 2285, 4927, 0, 2279, 0, 0, 2309, + 4925, 2322, 1445, 4892, 2237, 1662, 2257, 1692, 1738, 1757, + 2326, 2212, 4870, 4825, 1429, 1348, 4782, 4780, 4790, 4802, + 4775, 4775, 4748, 4857, 0, 4854, 4853, 4852, 4851, 2450, + 2578, 4850, 4849, 7311, 7311, 7311, 7311, 7311, 7311, 0, + 0, 0, 2266, 0, 0, 0, 2291, 2301, 0, 1344, + 2328, 2375, 2368, 2381, 2385, 2389, 2393, 2397, 2402, 2406, + 2410, 2414, 2418, 2422, 2437, 2456, 2460, 2464, 2468, 2472, + + 2478, 0, 2497, 2501, 2505, 0, 2509, 0, 4851, 0, + 4794, 1713, 4793, 4766, 4779, 4764, 4771, 4837, 0, 2513, + 1238, 4834, 2705, 4807, 4806, 2731, 4805, 1553, 2506, 4803, + 2532, 1519, 7311, 0, 0, 0, 2303, 2317, 2424, 2480, + 2487, 0, 0, 2517, 2518, 0, 2534, 2536, 2542, 2544, + 0, 0, 2546, 2548, 0, 2550, 2552, 2554, 7311, 4748, + 7311, 7311, 0, 2558, 1650, 2562, 2584, 2588, 2592, 2596, + 2600, 1727, 4717, 4729, 2564, 2604, 2606, 2608, 2615, 2621, + 2622, 2626, 4736, 2627, 4722, 2632, 2633, 2634, 2638, 2644, + 2648, 0, 1818, 2652, 1862, 4779, 1475, 1908, 1927, 2631, + + 1956, 2259, 2146, 2662, 2281, 2814, 2276, 4761, 4746, 4746, + 4670, 4691, 4667, 4672, 4677, 4645, 2707, 4643, 4638, 4619, + 4741, 0, 0, 0, 0, 2886, 2828, 2371, 4702, 2378, + 2409, 2799, 4713, 4619, 1831, 4692, 4624, 4616, 889, 4622, + 1709, 4595, 4602, 2863, 2415, 4662, 2424, 2598, 2800, 4669, + 4573, 1848, 4646, 4570, 4562, 1365, 4569, 1867, 4567, 4566, + 0, 0, 0, 0, 0, 0, 0, 2026, 1509, 1635, + 0, 2639, 4663, 0, 0, 0, 2666, 2671, 2675, 2679, + 2683, 0, 0, 2690, 2708, 0, 2712, 2716, 2720, 2724, + 0, 0, 2783, 2818, 0, 2835, 4662, 4660, 2842, 4659, + + 4658, 0, 2027, 3013, 3039, 1689, 2344, 0, 0, 0, + 0, 0, 0, 0, 0, 2846, 2850, 2876, 2906, 2911, + 2929, 2933, 2937, 4634, 2726, 2820, 2824, 2880, 2892, 2896, + 0, 2622, 2941, 2900, 4631, 2618, 4622, 4583, 2802, 2794, + 2956, 2844, 4600, 4536, 4485, 4474, 4473, 4483, 1929, 2232, + 2091, 4473, 4473, 4483, 4581, 0, 0, 3122, 3099, 2854, + 4544, 2884, 2905, 3113, 4552, 4455, 1905, 4525, 4431, 4424, + 1651, 4431, 2602, 4432, 4435, 2894, 4503, 2916, 2921, 3155, + 2914, 2924, 2925, 3209, 2914, 4485, 4440, 3282, 3250, 1559, + 2840, 4407, 4402, 4414, 4428, 4402, 4428, 4375, 2916, 4456, + + 2974, 2931, 3308, 2924, 2940, 2942, 3309, 2932, 4438, 4390, + 4469, 3379, 1619, 2848, 4357, 4348, 4360, 4374, 4348, 4373, + 4337, 0, 3022, 3028, 0, 0, 0, 0, 0, 0, + 0, 3128, 4447, 4445, 4444, 3145, 3165, 2923, 2997, 0, + 2960, 3091, 3111, 3112, 3104, 4410, 3188, 1879, 2878, 4354, + 4333, 2932, 4344, 4327, 4324, 4322, 4310, 4330, 4411, 0, + 0, 3405, 3382, 3124, 4374, 3117, 3139, 3224, 4383, 4274, + 2297, 4347, 4278, 4267, 1815, 4274, 3043, 4274, 4276, 3125, + 4342, 3175, 3138, 3311, 3132, 3142, 3145, 3398, 3128, 4314, + 4270, 3523, 3464, 1875, 3034, 4237, 4235, 4248, 4262, 4236, + + 4259, 4232, 3166, 3192, 3160, 4329, 2172, 3161, 3171, 3313, + 3183, 3204, 3203, 3376, 3221, 3575, 3206, 4311, 4297, 3621, + 3554, 3473, 3579, 4293, 4217, 4234, 4203, 4200, 4204, 4169, + 3294, 4167, 4161, 4161, 3229, 3425, 3237, 4276, 2210, 3265, + 3300, 3314, 3302, 3316, 3303, 3454, 3320, 3682, 3306, 4258, + 4235, 0, 3680, 3493, 3689, 4235, 4156, 4172, 4156, 4144, + 4145, 4111, 3411, 4108, 4097, 4093, 0, 3412, 0, 3389, + 4166, 3460, 3471, 4082, 4081, 4066, 4075, 3519, 3537, 3545, + 4057, 3582, 4177, 4174, 4172, 3817, 3721, 3574, 173, 3461, + 3581, 3827, 1640, 1914, 3617, 508, 2268, 2394, 2469, 2429, + + 3591, 2284, 1038, 3626, 2489, 3708, 3571, 3828, 3685, 3699, + 3706, 3864, 3688, 2407, 1054, 2663, 3907, 2421, 3340, 1879, + 2361, 2453, 988, 1452, 2609, 1161, 3582, 3686, 3697, 2976, + 3362, 3429, 3712, 3766, 3744, 3724, 3529, 3782, 3759, 3947, + 3746, 2568, 2551, 4170, 3930, 3992, 3993, 2461, 2487, 2698, + 1770, 2780, 3256, 3157, 3834, 2029, 2725, 2853, 3816, 3598, + 3634, 3635, 3820, 1841, 3257, 3860, 3825, 3951, 3833, 2581, + 4043, 3356, 2615, 2329, 2570, 2597, 3011, 2914, 3622, 3690, + 3773, 1707, 3090, 3027, 3556, 3871, 3277, 3141, 3554, 4162, + 4123, 3731, 3806, 4030, 3834, 4110, 4121, 4043, 4048, 4016, + + 3994, 3982, 3978, 3986, 3174, 3344, 3333, 3980, 3968, 3956, + 4050, 7311, 3833, 4013, 3503, 3947, 3935, 3960, 3978, 3991, + 4022, 4039, 4065, 4070, 4074, 4078, 4084, 3951, 4033, 0, + 0, 7311, 4063, 3623, 3845, 3893, 4016, 4112, 3853, 3857, + 3862, 3968, 4125, 3989, 4088, 3331, 3533, 3908, 3881, 3686, + 3889, 3871, 3861, 3865, 3858, 3863, 0, 0, 3907, 3910, + 3813, 3802, 3798, 3806, 4121, 4151, 4155, 3822, 3904, 3922, + 0, 4106, 4143, 4169, 3862, 4174, 4173, 0, 4182, 4173, + 4201, 3779, 3768, 3737, 3735, 4210, 4225, 4229, 3707, 4236, + 3931, 3803, 3720, 3701, 3689, 3933, 4225, 3705, 3714, 3736, + + 4230, 3811, 3667, 3643, 4252, 4259, 4265, 4266, 4272, 4276, + 4280, 4310, 4311, 4317, 4321, 4327, 4335, 3649, 3944, 3687, + 4341, 4348, 3599, 3942, 4381, 3686, 3656, 3567, 3524, 3517, + 3506, 4354, 4463, 4408, 4362, 4517, 4434, 4366, 4571, 4623, + 3518, 3492, 3429, 3967, 4632, 4089, 0, 4253, 3497, 3413, + 3381, 3361, 4677, 4382, 4729, 4390, 4783, 4417, 4738, 4471, + 4837, 4472, 4889, 4526, 3327, 3321, 3997, 4358, 3329, 4572, + 4580, 3242, 4648, 4843, 4895, 4652, 4899, 4916, 4665, 4920, + 4924, 3209, 3196, 3185, 3140, 4985, 5029, 5081, 5125, 5177, + 5221, 3094, 3077, 3073, 3050, 5273, 4634, 5301, 4689, 5300, + + 4792, 5328, 4796, 5380, 4800, 5408, 4928, 3055, 2999, 2933, + 2918, 4678, 4754, 4758, 2875, 2847, 2789, 2802, 2787, 2754, + 2701, 2607, 2623, 2622, 2564, 2539, 2485, 2252, 2134, 1968, + 1911, 1849, 1441, 1445, 7311, 5461, 5472, 5483, 5494, 5505, + 5516, 5527, 5538, 5549, 5560, 5571, 5575, 5586, 5597, 5608, + 5619, 5630, 5641, 5652, 5663, 5674, 5685, 5696, 5707, 5711, + 5722, 5733, 5744, 5755, 5760, 5761, 5766, 5777, 5788, 5799, + 5810, 5821, 5832, 5843, 5854, 5865, 5876, 5887, 5898, 5909, + 1399, 5920, 5931, 5942, 5953, 5964, 5975, 5986, 5997, 1210, + 5999, 6010, 6021, 6032, 6043, 6054, 6065, 6076, 6087, 6098, + + 6109, 6120, 6131, 6142, 6153, 6164, 6175, 6186, 6197, 6208, + 6219, 1080, 6221, 6232, 6243, 6254, 6265, 6276, 6287, 6298, + 6309, 6320, 6331, 6342, 6353, 6364, 6375, 6386, 6397, 6408, + 6419, 6430, 6441, 6452, 6463, 6474, 6485, 6496, 6507, 6518, + 6529, 6540, 6551, 6562, 6573, 6584, 6595, 6606, 6617, 6628, + 6639, 6650, 6661, 6672, 6683, 6694, 6705, 6716, 6727, 6738, + 6749, 6760, 6771, 6782, 6793, 6804, 6815, 6826, 6837, 6848, + 6859, 6870, 6881, 6892, 6903, 6914, 6925, 6936, 6947, 6958, + 6969, 6980, 6991, 7002, 7013, 7024, 7035, 7040, 7050, 7061, + 7072, 7083, 7094, 7105, 7116, 7127, 7138, 7149, 7160, 7171, + + 973, 7182, 7193, 7204, 7215, 7226, 7237, 7244, 7254, 7259, + 7263, 517, 511, 7273, 7284, 7295, 7300, 198 } ; -static const flex_int16_t yy_def[1593] = +static const flex_int16_t yy_def[1619] = { 0, - 1410, 1410, 1411, 1411, 1409, 5, 5, 5, 1412, 1412, - 1409, 11, 1409, 13, 1413, 1413, 1414, 1414, 1409, 19, - 1409, 21, 1409, 23, 1415, 1415, 1416, 1416, 1417, 1417, - 1410, 1410, 1418, 1418, 1419, 1419, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1420, 1409, 1409, 1409, 1409, 1409, 1421, - 1409, 1409, 1420, 1409, 51, 1409, 1409, 1409, 1422, 1409, - 1409, 1409, 1423, 1409, 1409, 1409, 1424, 1409, 1409, 1409, - 1409, 1409, 1425, 1409, 1409, 1426, 1409, 1409, 1427, 1409, - 1409, 1428, 1409, 1420, 1409, 1409, 1409, 1409, 1409, 1429, - 1409, 1429, 1429, 1409, 1409, 1409, 1430, 1431, 1409, 1431, - - 1409, 1409, 1409, 1409, 1409, 1432, 1432, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1433, 1409, 1409, 1409, 1409, - 1409, 51, 1420, 1409, 1409, 1409, 1409, 1434, 1409, 1409, - 1435, 1409, 1409, 1436, 1437, 1409, 1409, 1409, 1438, 1409, - 1409, 1409, 1439, 1440, 1441, 1409, 1409, 1409, 1409, 1409, - 1409, 1433, 1409, 121, 51, 1420, 1436, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1442, 1409, 1409, 1409, 1409, 1443, 1409, 1409, 1409, 1409, - 1409, 1444, 1409, 1445, 1409, 1446, 1409, 1447, 1409, 1409, - 1409, 1409, 1409, 1448, 1409, 1409, 1409, 1409, 1420, 1409, - - 1409, 1409, 1409, 1409, 1449, 1409, 1409, 1409, 1409, 1449, - 1409, 1409, 1450, 1451, 1450, 1451, 1450, 1452, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1453, 1453, 1453, - 1453, 1453, 1453, 1453, 1453, 1453, 1453, 1409, 1409, 1409, - 1454, 1409, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1455, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1456, 1409, 1457, 1409, 1409, 1458, 1409, 1459, 1459, - 1459, 1459, 1459, 1459, 1459, 1459, 1409, 1460, 1461, 1409, - 1462, 1463, 1409, 1464, 1409, 1409, 1465, 1409, 1466, 1409, - - 1409, 1409, 1467, 1409, 1454, 1409, 1454, 1454, 1454, 1454, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1459, 1459, 1459, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1468, 1468, 1469, 1468, 1468, 1468, 1468, 1409, - 1409, 1470, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1470, 1471, 1472, 1472, 1473, 1473, 1473, 1474, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1475, 1476, 1476, 1476, - 1476, 1476, 1476, 1476, 1476, 1409, 1409, 1409, 1409, 1454, - - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1477, - 1454, 1454, 1454, 1478, 1479, 1454, 1454, 1454, 1454, 1454, - 1454, 421, 421, 421, 1454, 1454, 1454, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1480, 1409, - 1409, 1409, 1481, 1409, 1482, 1409, 1409, 1409, 1409, 1409, - 1409, 1483, 1484, 1485, 1409, 1486, 1487, 1488, 1489, 1454, - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1490, 1454, - - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1491, 1491, 1491, 1491, 1491, 1491, 1491, 1492, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1492, 1493, 1494, 1494, 1495, 1495, 1495, 1409, 1496, - 1496, 1409, 1409, 1409, 1409, 1409, 1409, 1497, 1498, 1499, - 1500, 1501, 1502, 1503, 1409, 1454, 1504, 1454, 1454, 1454, - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1505, - - 1454, 1454, 1454, 1506, 1454, 1507, 1454, 1508, 1508, 1508, - 1508, 1508, 1508, 1508, 1508, 1454, 1509, 1454, 1510, 1454, - 1454, 1454, 1454, 621, 1454, 1511, 1454, 1454, 1454, 1512, - 1409, 1513, 1514, 1515, 1409, 1409, 1409, 1409, 1409, 1516, - 1517, 1409, 1409, 1518, 1409, 1409, 1409, 1409, 1519, 1520, - 1409, 1409, 1521, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1522, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1523, - 1523, 1523, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1524, 1524, 1525, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1525, 1526, 1527, - 1528, 1529, 1528, 1529, 1528, 1528, 1528, 1528, 1528, 1528, - 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1530, 1531, 1532, 1533, 1534, - 1535, 1536, 1454, 1454, 1454, 1537, 1454, 1454, 1538, 1539, - 1540, 1454, 1454, 1454, 1454, 1454, 1541, 1542, 1454, 1454, - 1543, 1454, 1454, 1454, 1454, 1544, 1545, 1454, 1454, 1546, - 1454, 1454, 1454, 1454, 1454, 1454, 1547, 1548, 1454, 799, - - 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1409, - 1409, 1409, 1409, 1409, 1409, 1559, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1559, 1560, - 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, - 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, - 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, - 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - - 1409, 1409, 1562, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1563, 1454, 1454, 1564, 1565, 1566, 1567, 1568, - 1569, 1570, 1454, 1454, 1454, 1454, 1571, 1454, 1409, 1409, - 1572, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1572, 1573, - 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, - 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, - 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, - 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, - 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, - - 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, - 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, - 1574, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1575, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1576, 1571, 1577, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1578, 1579, 1580, 1409, 1409, 1577, 1581, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1582, - - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1575, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1582, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1153, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1583, 1409, 1409, 1409, 1409, 1409, 1579, 1578, 1578, 1578, - - 1579, 1579, 1579, 1580, 1580, 1580, 1409, 1409, 1581, 1581, - 1409, 1409, 1409, 1409, 1409, 1584, 1409, 1409, 1409, 1409, - 1409, 1409, 1585, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1583, 1583, 1409, 1409, 1409, 1409, - 1409, 1578, 1579, 1580, 1409, 1409, 1409, 1586, 1409, 1409, - 1409, 1409, 1409, 1409, 1587, 1409, 1409, 1409, 1409, 1409, - 1409, 1588, 1589, 1590, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1584, 1409, 1409, 1409, 1585, 1409, 1409, 1589, - 1588, 1588, 1588, 1588, 1589, 1589, 1589, 1589, 1590, 1590, - 1590, 1590, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - - 1591, 1409, 1409, 1409, 1409, 1588, 1588, 1588, 1589, 1589, - 1589, 1590, 1590, 1590, 1409, 1409, 1409, 1409, 1409, 1409, - 1592, 1409, 1409, 1409, 1409, 1409, 1588, 1588, 1588, 1588, - 1589, 1589, 1589, 1589, 1590, 1590, 1590, 1590, 1409, 1409, - 1409, 1591, 1409, 1409, 1409, 1409, 1307, 1588, 1588, 1310, - 1589, 1589, 1313, 1590, 1590, 1409, 1409, 1409, 1409, 1588, - 1307, 1589, 1310, 1590, 1313, 1409, 1409, 1409, 1409, 1588, - 1588, 1327, 1588, 1589, 1589, 1331, 1589, 1590, 1590, 1335, - 1590, 1409, 1409, 1409, 1409, 1361, 1363, 1365, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 0, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409 - + 1436, 1436, 1437, 1437, 1435, 5, 5, 5, 1438, 1438, + 1435, 11, 1435, 13, 1439, 1439, 1440, 1440, 1435, 19, + 1435, 21, 1435, 23, 1441, 1441, 1442, 1442, 1443, 1443, + 1436, 1436, 1444, 1444, 1445, 1445, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1446, 1435, 1435, 1435, 1435, 1435, 1447, + 1435, 1435, 1446, 1435, 51, 1435, 1435, 1435, 1448, 1435, + 1435, 1435, 1449, 1435, 1435, 1435, 1450, 1435, 1435, 1435, + 1435, 1435, 1451, 1435, 1435, 1452, 1435, 1435, 1453, 1435, + 1435, 1454, 1435, 1446, 1435, 1435, 1435, 1435, 1435, 1455, + 1435, 1455, 1455, 1435, 1435, 1435, 1456, 1457, 1435, 1457, + + 1435, 1435, 1435, 1435, 1435, 1458, 1458, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1459, 1435, 1435, 1435, 1435, + 1435, 51, 1446, 1435, 1435, 1435, 1435, 1460, 1435, 1435, + 1461, 1435, 1435, 1462, 1463, 1435, 1435, 1435, 1464, 1435, + 1435, 1435, 1465, 1466, 1467, 1435, 1435, 1435, 1435, 1435, + 1435, 1459, 1435, 121, 51, 1446, 1462, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1468, 1435, 1435, 1435, 1435, 1469, 1435, 1435, 1435, 1435, + 1435, 1470, 1435, 1471, 1435, 1472, 1435, 1473, 1435, 1435, + 1435, 1435, 1435, 1474, 1435, 1435, 1435, 1435, 1446, 1435, + + 1435, 1435, 1435, 1435, 1475, 1435, 1435, 1435, 1435, 1475, + 1435, 1435, 1476, 1477, 1476, 1477, 1476, 1478, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1479, 1479, 1479, + 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1435, 1435, 1435, + 1480, 1435, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1481, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1482, 1435, 1483, 1435, 1435, 1484, 1435, 1485, 1485, + 1485, 1485, 1485, 1485, 1485, 1485, 1435, 1486, 1487, 1435, + 1488, 1489, 1435, 1490, 1435, 1435, 1491, 1435, 1492, 1435, + + 1435, 1435, 1493, 1435, 1480, 1435, 1480, 1480, 1480, 1480, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1485, 1485, 1485, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1494, 1494, 1495, 1494, 1494, 1494, 1494, 1435, + 1435, 1496, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1496, 1497, 1498, 1498, 1499, 1499, 1499, 1500, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1501, 1502, 1502, + 1502, 1502, 1502, 1502, 1502, 1502, 1435, 1435, 1435, 1435, + + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1503, 1480, 1480, 1480, 1504, 1505, 1480, 1480, 1480, 1480, + 1480, 1480, 422, 422, 422, 1480, 1480, 1480, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1506, + 1435, 1435, 1435, 1507, 1435, 1508, 1435, 1435, 1435, 1435, + 1435, 1435, 1509, 1510, 1511, 1435, 1512, 1513, 1514, 1515, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1516, + + 1480, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1518, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1518, 1519, 1520, 1520, 1521, 1521, 1521, + 1435, 1522, 1522, 1435, 1435, 1435, 1435, 1435, 1435, 1523, + 1524, 1525, 1526, 1527, 1528, 1529, 1435, 1480, 1530, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + + 1480, 1531, 1480, 1480, 1480, 1532, 1480, 1533, 1480, 1534, + 1534, 1534, 1534, 1534, 1534, 1534, 1534, 1480, 1535, 1480, + 1536, 1480, 1480, 1480, 1480, 623, 1480, 1537, 1480, 1480, + 1480, 1538, 1435, 1539, 1540, 1541, 1435, 1435, 1435, 1435, + 1435, 1542, 1543, 1435, 1435, 1544, 1435, 1435, 1435, 1435, + 1545, 1546, 1435, 1435, 1547, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1548, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1480, 1549, 1549, 1549, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1550, + 1550, 1551, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1551, 1552, 1553, 1554, 1555, 1554, 1555, 1554, 1554, 1554, + 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, 1554, + 1554, 1554, 1554, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1556, 1557, 1558, 1559, 1560, 1561, 1562, 1480, 1480, 1480, + 1563, 1480, 1480, 1564, 1565, 1566, 1480, 1480, 1480, 1480, + 1480, 1567, 1568, 1480, 1480, 1569, 1480, 1480, 1480, 1480, + 1570, 1571, 1480, 1480, 1572, 1480, 1480, 1480, 1480, 1480, + + 1480, 1573, 1574, 1480, 804, 1575, 1576, 1577, 1578, 1579, + 1580, 1581, 1582, 1583, 1584, 1480, 1480, 1480, 1480, 1480, + 1480, 1480, 1480, 1480, 1435, 1435, 1435, 1435, 1435, 1435, + 1585, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1585, 1586, 1587, 1587, 1587, 1587, + 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, + 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, + 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, + 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1587, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1588, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1589, 1480, 1480, 1590, 1591, 1592, 1593, 1594, 1595, + 1596, 1480, 1480, 1480, 1480, 1597, 1480, 1435, 1435, 1598, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1598, 1599, + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, + + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, + 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, + 1600, 1600, 1600, 1600, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1601, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1602, 1597, 1603, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1604, 1605, 1606, + 1435, 1435, 1603, 1607, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1608, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1601, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1608, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1171, 1435, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1609, 1435, 1435, 1435, 1435, 1435, 1435, 1605, 1604, 1604, + 1604, 1605, 1605, 1605, 1606, 1606, 1606, 1435, 1435, 1607, + 1607, 1435, 1435, 1435, 1435, 1435, 1610, 1435, 1435, 1435, + 1435, 1435, 1435, 1611, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1609, 1609, 1435, 1435, + 1435, 1435, 1435, 1435, 1604, 1605, 1606, 1435, 1435, 1435, + 1612, 1435, 1435, 1435, 1435, 1435, 1435, 1613, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1614, 1615, 1616, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1610, 1435, 1435, 1435, + + 1611, 1435, 1435, 1435, 1615, 1614, 1614, 1614, 1614, 1615, + 1615, 1615, 1615, 1616, 1616, 1616, 1616, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1617, 1435, 1435, 1435, 1435, + 1435, 1614, 1614, 1614, 1615, 1615, 1615, 1616, 1616, 1616, + 1435, 1435, 1435, 1435, 1435, 1435, 1618, 1435, 1435, 1435, + 1435, 1435, 1614, 1614, 1614, 1614, 1615, 1615, 1615, 1615, + 1616, 1616, 1616, 1616, 1435, 1435, 1435, 1617, 1435, 1435, + 1435, 1435, 1333, 1614, 1614, 1336, 1615, 1615, 1339, 1616, + 1616, 1435, 1435, 1435, 1435, 1614, 1333, 1615, 1336, 1616, + 1339, 1435, 1435, 1435, 1435, 1614, 1614, 1353, 1614, 1615, + + 1615, 1357, 1615, 1616, 1616, 1361, 1616, 1435, 1435, 1435, + 1435, 1387, 1389, 1391, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 0, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435 } ; -static const flex_int16_t yy_nxt[7335] = +static const flex_int16_t yy_nxt[7441] = { 0, - 1409, 1409, 40, 41, 40, 41, 42, 43, 44, 45, + 1435, 1435, 40, 41, 40, 41, 42, 43, 44, 45, 43, 42, 42, 42, 42, 42, 46, 47, 42, 42, 42, 48, 49, 46, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, @@ -951,802 +965,813 @@ static const flex_int16_t yy_nxt[7335] = 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 52, 53, 54, 52, 52, 53, 54, 52, - 69, 57, 57, 83, 84, 85, 83, 42, 91, 92, - 93, 42, 83, 84, 85, 83, 1409, 86, 87, 58, - 58, 91, 92, 93, 95, 95, 86, 87, 99, 100, - 408, 96, 96, 99, 100, 70, 1211, 126, 97, 97, - 126, 71, 546, 72, 547, 55, 59, 59, 162, 55, - 456, 162, 103, 104, 105, 103, 88, 157, 89, 457, - - 177, 106, 158, 177, 1342, 88, 70, 89, 107, 892, - 173, 174, 71, 175, 72, 201, 202, 60, 60, 61, - 61, 61, 62, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 61, 61, 63, 63, 63, + 42, 42, 42, 42, 42, 52, 53, 54, 52, 52, + 53, 54, 52, 69, 57, 57, 83, 84, 85, 83, + 42, 91, 92, 93, 42, 83, 84, 85, 83, 1435, + 86, 87, 58, 58, 91, 92, 93, 95, 95, 86, + 87, 99, 100, 409, 96, 96, 99, 100, 70, 1232, + 126, 97, 97, 126, 71, 547, 72, 548, 55, 59, + 59, 162, 55, 457, 162, 103, 104, 105, 103, 88, + + 157, 89, 458, 177, 106, 158, 177, 1368, 88, 70, + 89, 107, 900, 173, 174, 71, 175, 72, 201, 202, + 60, 60, 61, 61, 61, 62, 61, 61, 61, 61, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 61, 61, 61, 61, 61, 63, 63, 63, + 63, 63, 63, 63, 63, 61, 61, 61, 61, 61, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 61, 61, 61, 61, 61, 61, 61, + 63, 63, 63, 63, 63, 63, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, - 61, 61, 61, 61, 61, 64, 64, 64, 65, 64, - 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 66, 64, 67, 67, 67, 67, 67, 67, 67, + 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, + 61, 64, 64, 64, 65, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 66, 64, 67, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 64, 64, - 64, 64, 64, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 64, 64, 64, 64, 64, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, - 67, 67, 67, 67, 67, 67, 67, 67, 67, 64, + 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, + 67, 67, 67, 67, 67, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, - 64, 69, 109, 110, 110, 109, 388, 479, 479, 115, - 116, 117, 115, 388, 305, 490, 111, 112, 118, 119, - 200, 200, 200, 200, 120, 121, 163, 164, 165, 166, - - 167, 168, 169, 219, 220, 1211, 70, 206, 207, 208, - 206, 1277, 71, 469, 72, 226, 227, 1273, 221, 103, - 224, 225, 103, 106, 470, 113, 103, 104, 105, 103, - 107, 126, 122, 126, 126, 106, 126, 70, 276, 509, - 509, 276, 107, 71, 905, 72, 74, 74, 74, 75, + 69, 109, 110, 110, 109, 389, 480, 480, 115, 116, + 117, 115, 389, 305, 491, 111, 112, 118, 119, 200, + + 200, 200, 200, 120, 121, 163, 164, 165, 166, 167, + 168, 169, 219, 220, 1232, 70, 206, 207, 208, 206, + 1301, 71, 470, 72, 226, 227, 1297, 221, 103, 224, + 225, 103, 106, 471, 113, 103, 104, 105, 103, 107, + 126, 122, 126, 126, 106, 126, 70, 276, 510, 510, + 276, 107, 71, 913, 72, 74, 74, 74, 75, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 76, 76, 76, 76, 76, 76, + 74, 74, 74, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 76, 76, 76, 74, - 74, 74, 74, 74, 76, 76, 76, 76, 76, 76, - 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, 74, 74, + 74, 74, 74, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, + 76, 76, 76, 76, 76, 76, 76, 76, 76, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 77, 77, 77, 78, 77, 77, 77, 77, + 74, 74, 74, 74, 77, 77, 77, 78, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 77, 77, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 77, 77, 77, 77, 77, - 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, + 79, 79, 79, 79, 79, 79, 79, 77, 77, 77, + 77, 77, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, 79, - 79, 79, 79, 79, 79, 79, 77, 77, 77, 77, + 79, 79, 79, 79, 79, 79, 79, 79, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, - 77, 77, 77, 77, 77, 77, 77, 77, 80, 80, - 80, 81, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 77, 77, 77, 77, 77, 77, 77, 77, 77, 77, + 77, 77, 77, 80, 80, 80, 81, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 80, 80, 80, 80, 80, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, + 82, 82, 82, 82, 82, 82, 80, 80, 80, 80, + 80, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, - 82, 82, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 82, 82, 82, 82, 82, 82, 82, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, - 80, 80, 80, 80, 110, 123, 110, 110, 276, 271, - 288, 276, 532, 272, 130, 149, 273, 130, 149, 112, - 130, 239, 151, 152, 153, 151, 238, 189, 130, 111, - 189, 118, 119, 193, 194, 195, 193, 290, 154, 1409, - 290, 190, 191, 532, 1211, 302, 291, 214, 302, 885, - 215, 886, 289, 1409, 303, 1409, 1178, 112, 129, 129, - 130, 129, 131, 131, 132, 129, 133, 134, 150, 135, - 150, 130, 136, 137, 130, 155, 327, 196, 1409, 327, - - 192, 322, 323, 324, 325, 130, 197, 130, 198, 216, - 109, 110, 110, 109, 138, 130, 328, 1409, 217, 328, - 304, 305, 306, 304, 111, 112, 1211, 406, 329, 139, - 140, 329, 598, 141, 129, 138, 129, 129, 142, 143, - 216, 138, 295, 330, 144, 138, 330, 145, 146, 129, - 407, 129, 147, 130, 129, 138, 148, 138, 229, 129, - 129, 130, 1182, 113, 130, 230, 110, 110, 110, 110, - 231, 486, 130, 150, 232, 233, 234, 331, 235, 457, - 331, 112, 240, 241, 242, 240, 244, 116, 245, 244, - 506, 332, 620, 236, 332, 246, 247, 112, 219, 220, - - 333, 248, 249, 333, 548, 549, 237, 110, 116, 110, - 110, 219, 220, 221, 115, 116, 117, 115, 177, 112, - 466, 177, 112, 118, 119, 177, 221, 911, 177, 120, - 121, 575, 575, 394, 149, 113, 394, 149, 1409, 250, - 278, 278, 278, 278, 278, 278, 278, 278, 111, 708, - 342, 280, 271, 342, 157, 281, 272, 282, 283, 158, - 112, 251, 252, 284, 251, 191, 396, 122, 285, 396, - 458, 286, 326, 458, 300, 326, 300, 253, 301, 301, - 301, 301, 301, 301, 301, 301, 301, 150, 254, 534, - 322, 323, 324, 325, 255, 256, 1409, 535, 257, 459, - - 258, 709, 259, 192, 260, 261, 262, 1409, 263, 465, - 264, 460, 465, 662, 124, 200, 200, 200, 200, 265, - 534, 266, 484, 267, 311, 312, 268, 313, 535, 314, - 400, 269, 307, 152, 308, 307, 270, 315, 316, 1409, - 189, 246, 247, 189, 317, 471, 471, 472, 309, 151, - 152, 153, 151, 408, 190, 191, 280, 1258, 118, 119, - 318, 350, 282, 319, 203, 154, 587, 203, 320, 340, - 340, 340, 340, 285, 1409, 588, 286, 344, 345, 346, - 344, 350, 1409, 397, 341, 310, 398, 193, 194, 195, - 193, 399, 350, 192, 200, 200, 200, 200, 351, 351, - - 351, 351, 155, 206, 353, 354, 206, 206, 207, 208, - 206, 387, 350, 377, 387, 251, 252, 192, 251, 226, - 227, 347, 355, 356, 357, 355, 387, 106, 1408, 387, - 348, 196, 349, 380, 107, 381, 396, 710, 711, 396, - 197, 378, 198, 595, 382, 388, 383, 276, 384, 358, - 276, 1409, 378, 389, 388, 385, 359, 360, 378, 388, - 361, 362, 392, 363, 578, 392, 1409, 364, 449, 389, - 388, 449, 378, 392, 1409, 390, 392, 450, 577, 392, - 461, 386, 392, 378, 450, 429, 1409, 365, 429, 378, - 1012, 582, 290, 392, 462, 290, 392, 240, 241, 242, - - 240, 291, 450, 510, 392, 511, 510, 392, 511, 1409, - 392, 450, 112, 392, 401, 241, 402, 401, 110, 241, - 110, 110, 404, 110, 401, 404, 599, 302, 1409, 403, - 302, 449, 512, 112, 449, 512, 303, 403, 491, 366, - 367, 368, 1013, 369, 513, 370, 371, 513, 1407, 586, - 113, 401, 116, 401, 401, 794, 794, 514, 452, 450, - 514, 304, 305, 306, 304, 463, 403, 403, 1409, 1409, - 450, 112, 453, 626, 452, 405, 463, 1059, 463, 1409, - 454, 449, 463, 326, 449, 327, 326, 328, 327, 463, - 328, 329, 600, 1211, 329, 463, 463, 330, 331, 332, - - 330, 331, 332, 601, 403, 409, 252, 463, 409, 463, - 691, 1409, 1409, 463, 150, 450, 333, 474, 1023, 333, - 463, 410, 387, 489, 450, 387, 463, 340, 340, 340, - 340, 400, 411, 340, 340, 340, 340, 484, 412, 413, - 342, 691, 414, 342, 415, 925, 416, 666, 417, 418, - 419, 665, 420, 1211, 421, 191, 502, 522, 406, 387, - 522, 503, 387, 422, 1406, 423, 569, 424, 570, 569, - 425, 570, 523, 604, 1409, 426, 344, 345, 346, 344, - 427, 129, 428, 429, 428, 430, 430, 431, 432, 433, - 434, 914, 435, 192, 525, 436, 437, 429, 301, 301, - - 301, 301, 301, 301, 301, 301, 301, 1405, 571, 572, - 524, 571, 572, 573, 525, 574, 573, 438, 574, 1409, - 347, 351, 351, 351, 351, 525, 907, 396, 908, 348, - 396, 349, 449, 439, 1409, 449, 440, 428, 438, 428, - 428, 441, 442, 632, 438, 525, 632, 443, 438, 1043, - 444, 445, 428, 668, 428, 446, 429, 428, 438, 447, - 438, 1232, 428, 428, 429, 409, 252, 1409, 409, 558, - 559, 558, 558, 1211, 557, 579, 1409, 767, 579, 409, - 252, 410, 409, 914, 696, 401, 110, 401, 401, 536, - 702, 492, 493, 537, 494, 1211, 495, 538, 412, 413, - - 403, 1044, 414, 539, 496, 497, 416, 1409, 417, 418, - 419, 498, 420, 669, 421, 696, 579, 1409, 406, 579, - 540, 702, 703, 422, 537, 423, 1409, 424, 538, 449, - 425, 985, 449, 986, 539, 426, 429, 1409, 403, 429, - 427, 129, 428, 429, 428, 430, 430, 431, 432, 433, - 499, 633, 435, 703, 633, 500, 437, 429, 1049, 704, - 401, 241, 401, 401, 596, 819, 819, 596, 404, 110, - 401, 404, 1409, 618, 1409, 403, 618, 438, 634, 541, - 488, 634, 619, 403, 400, 1211, 602, 602, 603, 491, - 704, 635, 636, 439, 635, 636, 440, 428, 438, 428, - - 428, 441, 442, 637, 438, 1409, 637, 443, 438, 1047, - 444, 445, 428, 403, 428, 446, 429, 428, 438, 447, - 438, 405, 428, 428, 429, 355, 529, 530, 355, 488, - 1409, 827, 429, 926, 355, 529, 530, 355, 458, 576, - 588, 458, 589, 1409, 408, 589, 429, 531, 356, 357, - 531, 667, 358, 580, 1409, 638, 580, 1404, 638, 359, - 360, 358, 827, 361, 362, 1409, 363, 1051, 359, 360, - 364, 590, 361, 362, 358, 363, 831, 580, 1409, 364, - 580, 359, 360, 591, 812, 361, 362, 581, 363, 693, - 365, 581, 364, 1104, 592, 1105, 581, 1211, 581, 365, - - 629, 1409, 881, 629, 583, 429, 693, 831, 593, 630, - 1409, 449, 365, 429, 449, 882, 631, 489, 584, 639, - 583, 1211, 639, 702, 1409, 927, 585, 607, 607, 607, - 607, 607, 607, 607, 607, 640, 641, 1409, 640, 641, - 887, 888, 366, 367, 368, 1211, 369, 1403, 370, 371, - 581, 366, 367, 368, 702, 369, 594, 370, 371, 642, - 643, 581, 642, 643, 366, 367, 368, 594, 369, 594, - 370, 371, 609, 594, 644, 1131, 610, 644, 611, 612, - 594, 1058, 645, 1184, 613, 645, 594, 594, 646, 614, - 650, 646, 615, 650, 647, 1059, 651, 647, 594, 651, - - 594, 1409, 1409, 652, 594, 1409, 652, 654, 605, 1402, - 654, 594, 648, 1183, 627, 903, 627, 594, 628, 628, - 628, 628, 628, 628, 628, 628, 628, 1132, 904, 1038, - 597, 597, 597, 597, 597, 597, 597, 597, 597, 597, - 597, 597, 597, 597, 597, 597, 597, 597, 597, 597, - 597, 597, 597, 597, 597, 597, 621, 655, 656, 648, - 655, 656, 909, 910, 622, 622, 622, 622, 673, 914, - 914, 673, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 623, 623, - - 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, - 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, - 623, 623, 623, 623, 675, 676, 1211, 675, 676, 623, - 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, - 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, - 623, 623, 623, 623, 623, 624, 677, 678, 679, 677, - 678, 679, 680, 510, 511, 680, 510, 511, 702, 1211, - 702, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 580, 1409, 702, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, + 80, 80, 110, 123, 110, 110, 276, 271, 288, 276, + 533, 272, 130, 149, 273, 130, 149, 112, 130, 239, + 151, 152, 153, 151, 238, 189, 130, 111, 189, 118, + 119, 193, 194, 195, 193, 290, 154, 1435, 290, 190, + 191, 533, 1197, 302, 291, 214, 302, 892, 215, 893, + 289, 1435, 303, 1435, 1232, 112, 129, 129, 130, 129, + + 131, 131, 132, 129, 133, 134, 150, 135, 150, 130, + 136, 137, 130, 155, 327, 196, 1435, 327, 192, 322, + 323, 324, 325, 130, 197, 130, 198, 216, 109, 110, + 110, 109, 138, 130, 328, 1435, 217, 328, 304, 305, + 306, 304, 111, 112, 1232, 407, 329, 139, 140, 329, + 600, 141, 129, 138, 129, 129, 142, 143, 216, 138, + 1232, 330, 144, 138, 330, 145, 146, 129, 408, 129, + 147, 130, 129, 138, 148, 138, 229, 129, 129, 130, + 1063, 113, 130, 230, 110, 110, 110, 110, 231, 295, + 130, 150, 232, 233, 234, 331, 235, 458, 331, 112, + + 240, 241, 242, 240, 244, 116, 245, 244, 507, 332, + 622, 236, 332, 246, 247, 112, 219, 220, 333, 248, + 249, 333, 550, 551, 237, 110, 116, 110, 110, 219, + 220, 221, 115, 116, 117, 115, 177, 112, 921, 177, + 112, 118, 119, 177, 221, 1051, 177, 120, 121, 577, + 577, 395, 149, 113, 395, 149, 1435, 250, 278, 278, + 278, 278, 278, 278, 278, 278, 111, 1232, 342, 280, + 271, 342, 157, 281, 272, 282, 283, 158, 112, 251, + 252, 284, 251, 191, 397, 122, 285, 397, 459, 286, + 326, 459, 300, 326, 300, 253, 301, 301, 301, 301, + + 301, 301, 301, 301, 301, 150, 254, 535, 322, 323, + 324, 325, 255, 256, 1435, 536, 257, 460, 258, 487, + 259, 192, 260, 261, 262, 1435, 263, 466, 264, 461, + 466, 664, 124, 200, 200, 200, 200, 265, 535, 266, + 485, 267, 311, 312, 268, 313, 536, 314, 401, 269, + 307, 152, 308, 307, 270, 315, 316, 1435, 189, 246, + 247, 189, 317, 472, 472, 473, 309, 151, 152, 153, + 151, 409, 190, 191, 280, 1066, 118, 119, 318, 350, + 282, 319, 203, 154, 589, 203, 320, 340, 340, 340, + 340, 285, 1435, 590, 286, 344, 345, 346, 344, 350, + + 1435, 398, 341, 310, 399, 193, 194, 195, 193, 400, + 350, 192, 200, 200, 200, 200, 351, 351, 351, 351, + 155, 206, 353, 354, 206, 206, 207, 208, 206, 388, + 350, 378, 388, 251, 252, 192, 251, 226, 227, 347, + 355, 356, 357, 355, 388, 106, 1435, 388, 348, 196, + 349, 381, 107, 382, 397, 1435, 772, 397, 197, 379, + 198, 597, 383, 389, 384, 276, 385, 358, 276, 1435, + 379, 390, 389, 386, 359, 360, 379, 389, 361, 362, + 393, 363, 580, 393, 1435, 364, 450, 390, 389, 450, + 379, 393, 1435, 391, 393, 451, 579, 393, 462, 387, + + 393, 379, 451, 430, 1435, 365, 430, 379, 467, 584, + 290, 393, 463, 290, 393, 240, 241, 242, 240, 291, + 451, 511, 393, 512, 511, 393, 512, 667, 393, 451, + 112, 393, 402, 241, 403, 402, 110, 241, 110, 110, + 405, 110, 402, 405, 601, 302, 1435, 404, 302, 450, + 513, 112, 450, 513, 303, 404, 492, 1435, 1232, 366, + 367, 368, 369, 915, 370, 916, 371, 372, 113, 402, + 116, 402, 402, 712, 713, 514, 453, 451, 514, 304, + 305, 306, 304, 464, 404, 404, 588, 1435, 451, 112, + 454, 628, 453, 406, 464, 710, 464, 693, 455, 450, + + 464, 515, 450, 326, 515, 327, 326, 464, 327, 328, + 1435, 1435, 328, 464, 464, 329, 330, 331, 329, 330, + 331, 490, 404, 410, 252, 464, 410, 464, 693, 401, + 1435, 464, 150, 451, 332, 475, 668, 332, 464, 411, + 333, 1281, 451, 333, 464, 340, 340, 340, 340, 711, + 412, 340, 340, 340, 340, 489, 413, 414, 342, 401, + 415, 342, 416, 1434, 417, 695, 418, 419, 420, 1064, + 421, 606, 422, 191, 503, 523, 407, 388, 523, 504, + 388, 423, 695, 424, 388, 425, 571, 388, 426, 571, + 524, 923, 1435, 427, 344, 345, 346, 344, 428, 129, + + 429, 430, 429, 431, 431, 432, 433, 434, 435, 670, + 436, 192, 526, 437, 438, 430, 301, 301, 301, 301, + 301, 301, 301, 301, 301, 1024, 572, 573, 525, 572, + 573, 574, 526, 575, 574, 439, 575, 1435, 347, 351, + 351, 351, 351, 526, 1435, 576, 1232, 348, 576, 349, + 397, 440, 1435, 397, 441, 429, 439, 429, 429, 442, + 443, 450, 439, 526, 450, 444, 439, 909, 445, 446, + 429, 671, 429, 447, 430, 429, 439, 448, 439, 1025, + 429, 429, 430, 410, 252, 1056, 410, 560, 561, 560, + 560, 489, 559, 581, 1435, 935, 581, 410, 252, 411, + + 410, 923, 698, 402, 110, 402, 402, 537, 602, 493, + 494, 538, 495, 1232, 496, 539, 413, 414, 404, 603, + 415, 540, 497, 498, 417, 1435, 418, 419, 420, 499, + 421, 817, 422, 698, 581, 1435, 407, 581, 541, 1057, + 704, 423, 538, 424, 1435, 425, 539, 634, 426, 996, + 634, 997, 540, 427, 430, 1435, 404, 430, 428, 129, + 429, 430, 429, 431, 431, 432, 433, 434, 500, 450, + 436, 704, 450, 501, 438, 430, 1232, 705, 402, 241, + 402, 402, 598, 799, 799, 598, 405, 110, 402, 405, + 1435, 620, 1435, 404, 620, 439, 706, 824, 824, 542, + + 621, 404, 895, 896, 604, 604, 605, 492, 705, 635, + 636, 440, 635, 636, 441, 429, 439, 429, 429, 442, + 443, 637, 439, 1254, 637, 444, 439, 706, 445, 446, + 429, 404, 429, 447, 430, 429, 439, 448, 439, 406, + 429, 429, 430, 355, 530, 531, 355, 1232, 1435, 832, + 430, 1239, 355, 530, 531, 355, 638, 578, 590, 638, + 591, 1435, 409, 591, 430, 532, 356, 357, 532, 669, + 358, 582, 1435, 639, 582, 1201, 639, 359, 360, 358, + 832, 361, 362, 1435, 363, 1232, 359, 360, 364, 592, + 361, 362, 358, 363, 888, 582, 1435, 364, 582, 359, + + 360, 593, 836, 361, 362, 583, 363, 889, 365, 583, + 364, 911, 594, 1120, 583, 1121, 583, 365, 631, 1435, + 1232, 631, 585, 430, 912, 459, 595, 632, 459, 450, + 365, 430, 450, 836, 633, 1435, 586, 640, 585, 641, + 640, 1148, 641, 642, 587, 643, 642, 1433, 643, 704, + 1435, 1435, 609, 609, 609, 609, 609, 609, 609, 609, + 918, 919, 366, 367, 368, 369, 704, 370, 992, 371, + 372, 366, 367, 368, 369, 1072, 370, 583, 371, 372, + 704, 993, 596, 596, 366, 367, 368, 369, 583, 370, + 1073, 371, 372, 596, 596, 1149, 704, 704, 611, 596, + + 596, 1060, 612, 644, 613, 614, 644, 1073, 645, 646, + 615, 645, 646, 596, 596, 616, 647, 648, 617, 647, + 648, 607, 1435, 652, 596, 596, 652, 704, 1435, 485, + 596, 596, 1435, 910, 629, 1232, 629, 934, 630, 630, + 630, 630, 630, 630, 630, 630, 630, 653, 654, 656, + 653, 654, 656, 657, 951, 952, 657, 599, 599, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 599, 623, 658, 675, 677, 658, 675, 677, + 1432, 624, 624, 624, 624, 678, 923, 923, 678, 624, - 580, 702, 625, 625, 625, 625, 625, 625, 625, 625, + 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, + 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, + 624, 624, 624, 624, 624, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 1409, 609, - 429, 581, 1052, 670, 512, 611, 671, 512, 1409, 513, - 581, 672, 513, 834, 429, 514, 614, 684, 514, 615, - 684, 686, 522, 693, 686, 522, 688, 340, 688, 688, - 526, 571, 656, 526, 571, 656, 685, 523, 839, 702, - 635, 689, 663, 635, 834, 636, 694, 664, 636, 906, - 531, 529, 530, 531, 693, 579, 1409, 943, 579, 531, - 529, 530, 531, 637, 580, 1409, 637, 580, 763, 768, - - 702, 764, 1211, 429, 1211, 524, 765, 358, 1401, 638, - 697, 429, 638, 524, 359, 360, 358, 697, 361, 362, - 837, 363, 698, 359, 360, 364, 1211, 361, 362, 698, - 363, 699, 869, 639, 364, 700, 639, 705, 699, 695, - 537, 697, 701, 580, 1409, 365, 580, 642, 697, 1211, - 642, 837, 705, 698, 365, 769, 1409, 537, 769, 1400, - 698, 1211, 699, 869, 580, 1409, 701, 580, 1112, 699, - 901, 770, 1409, 701, 770, 771, 1409, 1211, 771, 772, - 1409, 833, 772, 773, 1409, 1112, 773, 774, 1409, 1211, - 774, 589, 1409, 643, 589, 834, 643, 366, 367, 368, - - 1211, 369, 645, 370, 371, 645, 366, 367, 368, 871, - 369, 1050, 370, 371, 723, 559, 723, 723, 1048, 724, - 775, 1409, 1033, 775, 776, 1409, 834, 776, 777, 1409, - 749, 777, 778, 1409, 1033, 778, 779, 1409, 1399, 779, - 871, 725, 780, 1409, 646, 780, 1224, 646, 726, 727, - 981, 647, 728, 729, 647, 730, 1211, 781, 1409, 731, - 781, 782, 1409, 982, 782, 783, 1409, 732, 783, 784, - 1409, 1211, 784, 787, 1409, 1398, 787, 788, 1409, 733, - 788, 789, 1409, 1409, 789, 791, 1409, 785, 791, 618, - 1409, 647, 618, 651, 647, 1190, 651, 872, 619, 628, - - 628, 628, 628, 628, 628, 628, 628, 628, 629, 1409, - 652, 629, 654, 652, 1211, 654, 655, 630, 656, 655, - 891, 656, 811, 1409, 893, 811, 813, 1409, 872, 813, - 1100, 734, 735, 736, 785, 737, 1211, 738, 739, 559, - 559, 559, 559, 1101, 740, 814, 1409, 1397, 814, 815, - 1409, 891, 815, 816, 1409, 893, 816, 817, 1409, 1211, - 817, 818, 1409, 1396, 818, 673, 741, 820, 673, 675, - 820, 1188, 675, 742, 743, 1043, 676, 744, 745, 676, - 746, 1258, 677, 678, 747, 677, 678, 679, 680, 894, - 679, 680, 748, 822, 684, 824, 822, 684, 824, 686, - - 825, 1037, 686, 825, 749, 688, 340, 688, 688, 688, - 340, 688, 688, 828, 829, 830, 828, 702, 932, 1395, - 894, 702, 828, 829, 830, 828, 915, 1409, 702, 915, - 702, 772, 1409, 1189, 772, 773, 1409, 1024, 773, 774, - 1409, 702, 774, 775, 1409, 935, 775, 902, 702, 932, - 776, 1409, 702, 776, 1024, 936, 750, 751, 752, 702, - 753, 702, 754, 755, 1409, 843, 779, 1409, 843, 779, - 780, 1409, 702, 780, 782, 1409, 935, 782, 783, 1409, - 1394, 783, 784, 1409, 820, 784, 936, 820, 1211, 799, - 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, - - 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 799, 799, 799, 800, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 800, 784, 1409, 1393, 784, 1223, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 800, 800, 828, 829, 830, 828, 788, 1409, 969, 788, - 789, 1409, 929, 789, 873, 929, 844, 845, 874, 1211, - 791, 1409, 875, 791, 923, 1409, 971, 923, 876, 835, - - 725, 1211, 836, 811, 1409, 1218, 811, 726, 727, 969, - 822, 728, 729, 822, 730, 877, 1392, 930, 731, 874, - 930, 928, 1409, 875, 928, 824, 732, 971, 824, 876, - 835, 941, 942, 836, 852, 559, 852, 852, 733, 853, - 741, 813, 1409, 825, 813, 972, 825, 742, 743, 991, - 933, 744, 745, 933, 746, 1211, 814, 1409, 747, 814, - 1039, 854, 815, 1409, 1211, 815, 748, 996, 855, 856, - 944, 945, 857, 858, 878, 859, 972, 1391, 749, 860, - 991, 895, 912, 816, 1409, 896, 816, 861, 1002, 897, - 734, 735, 736, 1216, 737, 898, 738, 739, 996, 862, - - 817, 1409, 993, 817, 818, 1409, 1217, 818, 828, 829, - 830, 828, 899, 987, 988, 1003, 896, 1004, 1022, 1002, - 897, 828, 829, 830, 828, 994, 898, 1014, 1015, 1390, - 750, 751, 752, 993, 753, 1027, 754, 755, 997, 1033, - 1211, 1005, 1034, 1035, 974, 1171, 1003, 1181, 1004, 1022, - 998, 863, 864, 865, 1056, 866, 1005, 867, 868, 999, - 702, 974, 1036, 1000, 1024, 896, 1027, 1045, 1046, 997, - 1033, 900, 1409, 1034, 1035, 923, 1409, 1036, 923, 1060, - 1061, 998, 896, 915, 1409, 1056, 915, 1025, 995, 929, - 999, 702, 929, 930, 1001, 1024, 930, 622, 622, 622, - - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, - 622, 622, 622, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 625, 625, 625, 625, 625, 625, 625, 625, 625, 933, - 1026, 1389, 933, 1059, 625, 625, 625, 625, 625, 625, + 625, 679, 680, 1208, 679, 680, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, 625, - 952, 559, 952, 952, 954, 953, 1211, 923, 1409, 973, - 923, 955, 956, 974, 1385, 957, 958, 975, 959, 1211, - - 693, 702, 960, 976, 702, 997, 1211, 954, 400, 810, - 961, 400, 1062, 945, 955, 956, 1088, 998, 957, 958, - 977, 959, 962, 1090, 974, 960, 999, 1177, 975, 1384, - 1001, 693, 702, 961, 976, 702, 997, 928, 1409, 1211, - 928, 828, 829, 830, 828, 962, 1091, 1088, 998, 1106, - 1107, 1383, 1110, 1211, 1090, 1133, 1134, 999, 1010, 1043, - 1010, 1001, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011, - 1011, 1115, 909, 910, 963, 964, 965, 1091, 966, 978, - 967, 968, 1041, 1110, 1041, 1382, 1042, 1042, 1042, 1042, - 1042, 1042, 1042, 1042, 1042, 1023, 1257, 963, 964, 965, - - 1369, 966, 1115, 967, 968, 1008, 400, 810, 1211, 400, - 1258, 1044, 1211, 1009, 1009, 1009, 1009, 1368, 1121, 1122, - 1123, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, - 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1009, - 1009, 1009, 1009, 1009, 1009, 1009, 1009, 1028, 1028, 1121, - 1122, 1123, 1141, 1225, 1215, 1145, 1121, 1215, 1160, 1029, - 1029, 1160, 1112, 1073, 1121, 1121, 1147, 1367, 1030, 1030, - 1074, 1075, 1031, 1032, 1076, 1077, 1366, 1078, 1028, 1028, - 1148, 1079, 1222, 1141, 1092, 1113, 1145, 1121, 1093, 1080, - 1029, 1029, 1094, 1112, 1124, 1121, 1121, 1093, 1095, 1030, - - 1030, 1081, 1148, 1032, 1032, 1071, 559, 1071, 1071, 1124, - 1072, 1148, 1224, 1142, 1093, 1096, 1142, 1211, 1143, 1093, - 1359, 1185, 1142, 1094, 1185, 1142, 1181, 1143, 1211, 1095, - 1121, 1151, 1073, 1148, 1121, 1358, 1166, 1170, 1121, 1074, - 1075, 1221, 1211, 1076, 1077, 1229, 1078, 1121, 1114, 1033, - 1079, 1116, 1116, 1082, 1083, 1084, 1357, 1085, 1080, 1086, - 1087, 1121, 1151, 1117, 1117, 1121, 1144, 1166, 1170, 1121, - 1081, 1033, 1118, 1118, 1097, 1144, 1119, 1120, 1121, 1161, - 1162, 1033, 1116, 1116, 1130, 1130, 1130, 1130, 1130, 1130, - 1130, 1130, 1130, 1356, 1117, 1117, 1033, 828, 829, 830, - - 828, 1173, 1033, 1118, 1118, 1346, 1033, 1120, 1120, 1129, - 1345, 1129, 1033, 1130, 1130, 1130, 1130, 1130, 1130, 1130, - 1130, 1130, 1082, 1083, 1084, 1211, 1085, 1033, 1086, 1087, - 1127, 1167, 1173, 907, 1167, 908, 1168, 1033, 1128, 1128, - 1128, 1128, 1186, 1187, 1045, 1046, 1128, 1128, 1128, 1128, - 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, - 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, 1128, - 1128, 1128, 1142, 1172, 1073, 1142, 1033, 1143, 1227, 1228, - 1033, 1074, 1075, 1073, 1169, 1076, 1077, 1173, 1078, 1033, - 1074, 1075, 1079, 1176, 1076, 1077, 1193, 1078, 1211, 1149, - - 1154, 1079, 1150, 828, 829, 830, 828, 1033, 1344, 1155, - 1167, 1033, 1081, 1167, 1167, 1168, 1343, 1167, 1173, 1213, - 1033, 1081, 1340, 1211, 1176, 1144, 1211, 1193, 1230, 1231, - 1149, 893, 1233, 1150, 1153, 1153, 1153, 1153, 1153, 1153, - 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, - 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, 1153, - 1211, 1211, 893, 1169, 1082, 1083, 1084, 1169, 1085, 1211, - 1086, 1087, 1022, 1082, 1083, 1084, 1211, 1085, 1167, 1086, - 1087, 1167, 1211, 1168, 741, 1199, 829, 1200, 1199, 1211, - 1033, 742, 743, 1034, 891, 744, 745, 1339, 746, 1264, - - 1211, 894, 747, 1022, 1211, 1174, 1024, 1326, 1175, 1211, - 1179, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1042, - 1325, 1033, 749, 1024, 1034, 891, 741, 1202, 829, 1203, - 1202, 1169, 894, 742, 743, 1211, 1174, 744, 745, 1175, - 746, 1211, 1211, 1211, 747, 1205, 829, 1206, 1205, 1324, - 1211, 1033, 1180, 828, 829, 830, 828, 903, 1239, 1215, - 1323, 1240, 1215, 895, 749, 1211, 1024, 896, 1211, 1027, - 904, 897, 1214, 1211, 750, 751, 752, 898, 753, 1211, - 754, 755, 1033, 1035, 1036, 1321, 1234, 896, 1167, 1025, - 1166, 1167, 1211, 1213, 899, 1211, 1226, 1024, 896, 1036, - - 1027, 1033, 897, 1214, 896, 1211, 1211, 1170, 898, 1317, - 1211, 1316, 1211, 1033, 1035, 702, 750, 751, 752, 1315, - 753, 1166, 754, 755, 559, 559, 559, 559, 741, 1212, - 1033, 1211, 1033, 1033, 1211, 742, 743, 1305, 1170, 744, - 745, 1169, 746, 1211, 1033, 1302, 747, 1211, 1173, 1211, - 1211, 741, 1026, 900, 748, 1028, 1176, 1211, 742, 743, - 1172, 1033, 744, 745, 1033, 746, 749, 1029, 1033, 747, - 1185, 1028, 1033, 1185, 1173, 1211, 1030, 748, 1301, 1173, - 1031, 1033, 1300, 1029, 1033, 1167, 1028, 1176, 1167, 749, - 1213, 1211, 1030, 1298, 1215, 1219, 1032, 1215, 1029, 1033, - - 1216, 1215, 1028, 1033, 1215, 1173, 1211, 1030, 1227, 1228, - 1297, 1032, 1033, 1217, 1029, 1033, 1211, 1296, 750, 751, - 752, 1295, 753, 1030, 754, 755, 1219, 1032, 1042, 1042, - 1042, 1042, 1042, 1042, 1042, 1042, 1042, 1214, 1293, 1033, - 1211, 750, 751, 752, 1211, 753, 1167, 754, 755, 1167, - 1211, 1213, 1041, 1211, 1041, 1280, 1042, 1042, 1042, 1042, - 1042, 1042, 1042, 1042, 1042, 1220, 1167, 1279, 1214, 1167, - 1033, 1213, 741, 1174, 1181, 1033, 1175, 1219, 1278, 742, - 743, 1220, 1237, 744, 745, 1276, 746, 1211, 1259, 1260, - 747, 1186, 1187, 1229, 1247, 1024, 1220, 1167, 1179, 1169, - - 1167, 1033, 1168, 1033, 1174, 1033, 1033, 1175, 1219, 741, - 749, 1246, 1220, 1237, 1261, 1231, 742, 743, 1267, 1169, - 744, 745, 1065, 746, 1211, 1247, 1024, 747, 1167, 1409, - 1272, 1167, 1033, 1168, 1033, 1180, 1033, 1409, 1409, 1409, - 1409, 1202, 829, 1203, 1202, 1271, 1270, 749, 1294, 1267, - 1269, 1230, 1231, 1242, 829, 1200, 1242, 1242, 829, 1200, - 1242, 1272, 750, 751, 752, 1268, 753, 1033, 754, 755, - 1242, 829, 1200, 1242, 1243, 829, 1203, 1243, 1266, 1294, - 1266, 1169, 1243, 829, 1203, 1243, 1243, 829, 1203, 1243, - 1244, 829, 1206, 1244, 1244, 829, 1206, 1244, 1033, 750, - - 751, 752, 1265, 753, 741, 754, 755, 1244, 829, 1206, - 1244, 742, 743, 1299, 1167, 744, 745, 1167, 746, 1168, - 1264, 1263, 747, 1242, 829, 1200, 1242, 1250, 1262, 1250, - 748, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, - 1229, 1253, 749, 1253, 1299, 1254, 1254, 1254, 1254, 1254, - 1254, 1254, 1254, 1254, 1243, 829, 1203, 1243, 1244, 829, - 1206, 1244, 1303, 1167, 1255, 1304, 1167, 1169, 1168, 1251, - 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1251, 1167, 1252, - 1248, 1167, 1246, 1168, 1254, 1254, 1254, 1254, 1254, 1254, - 1254, 1254, 1254, 1245, 750, 751, 752, 741, 753, 702, - - 754, 755, 1241, 1238, 742, 743, 741, 1167, 744, 745, - 1167, 746, 1168, 742, 743, 747, 1274, 744, 745, 1236, - 746, 1234, 1167, 1282, 747, 1167, 1282, 1168, 1283, 1286, - 702, 1275, 1286, 1290, 1287, 749, 1290, 1167, 1291, 1409, - 1167, 1233, 1168, 1409, 749, 1232, 1318, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1226, 1286, 1225, 1224, 1286, - 1169, 1287, 1306, 1306, 1341, 1306, 1306, 1283, 1283, 1306, - 1224, 1223, 1306, 1222, 1283, 1169, 1284, 1318, 1306, 1409, - 1033, 1306, 1288, 1283, 1221, 1023, 1292, 750, 751, 752, - 1169, 753, 1218, 754, 755, 1341, 750, 751, 752, 1211, - - 753, 1309, 754, 755, 1309, 1309, 1287, 1211, 1309, 1288, - 1287, 1033, 1210, 1208, 1309, 1284, 1284, 1309, 1309, 1287, - 1207, 1309, 1284, 1287, 1312, 1312, 1197, 1312, 1312, 1291, - 1291, 1284, 1312, 1312, 1196, 1312, 1312, 1291, 1291, 1195, - 1307, 828, 829, 830, 828, 1167, 1167, 1194, 1167, 1167, - 1168, 1168, 1306, 1308, 1288, 1306, 1190, 1283, 1288, 1189, - 1309, 1188, 1184, 1309, 1183, 1287, 1182, 1288, 1181, 1312, - 1306, 1288, 1312, 1306, 1291, 1283, 1043, 1292, 1292, 1306, - 1310, 1033, 1306, 1033, 1283, 1292, 1292, 1177, 1171, 1165, - 1164, 1163, 1319, 1311, 1319, 1313, 1320, 1320, 1320, 1320, - - 1320, 1320, 1320, 1320, 1320, 1284, 1159, 1158, 1314, 1306, - 1157, 1156, 1306, 1288, 1283, 1309, 1131, 1121, 1309, 1327, - 1287, 1121, 1292, 1348, 1152, 1146, 1140, 1328, 1328, 1328, - 1328, 1139, 1349, 1138, 1137, 1328, 1328, 1328, 1328, 1328, - 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, - 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, 1328, - 1328, 1306, 1284, 1136, 1306, 1135, 1283, 1126, 1351, 1125, - 1309, 1111, 1109, 1309, 1329, 1287, 1329, 1108, 1330, 1330, - 1330, 1330, 1330, 1330, 1330, 1330, 1330, 1309, 1409, 1103, - 1309, 1081, 1287, 1102, 1099, 1098, 1409, 1409, 1409, 1409, - - 1333, 1089, 1333, 1068, 1334, 1334, 1334, 1334, 1334, 1334, - 1334, 1334, 1334, 1067, 1284, 1309, 1067, 1066, 1309, 1065, - 1287, 1064, 1063, 1352, 1312, 1331, 943, 1312, 1057, 1291, - 1409, 1409, 1409, 1332, 1332, 1332, 1332, 1052, 1051, 1050, - 1288, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1049, 1288, 1312, - 1312, 1048, 1312, 1312, 1291, 1291, 1047, 1354, 1167, 1335, - 1039, 1167, 1038, 1168, 1037, 1023, 1021, 1336, 1336, 1336, - 1336, 1020, 1019, 1018, 1017, 1336, 1336, 1336, 1336, 1336, - - 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, - 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, - 1336, 1312, 1292, 1355, 1312, 1016, 1291, 1007, 1006, 992, - 990, 1169, 1306, 989, 1337, 1306, 1337, 1283, 1338, 1338, - 1338, 1338, 1338, 1338, 1338, 1338, 1338, 1320, 1320, 1320, - 1320, 1320, 1320, 1320, 1320, 1320, 1281, 984, 962, 983, - 1285, 980, 979, 970, 1281, 1281, 1281, 1281, 1285, 1285, - 1285, 1285, 949, 1289, 1292, 1306, 948, 947, 1306, 946, - 1283, 1289, 1289, 1289, 1289, 1349, 1281, 1306, 940, 939, - 1306, 938, 1283, 938, 1281, 1281, 1281, 1281, 937, 692, - - 934, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, - 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1347, - 1347, 1347, 1347, 1347, 1347, 1347, 1347, 1306, 1284, 829, - 1306, 1409, 1283, 1409, 1409, 1409, 1309, 1409, 1409, 1309, - 1348, 1287, 912, 911, 1330, 1330, 1330, 1330, 1330, 1330, - 1330, 1330, 1330, 1334, 1334, 1334, 1334, 1334, 1334, 1334, - 1334, 1334, 1285, 906, 749, 905, 1289, 902, 901, 892, - 1285, 1285, 1285, 1285, 1289, 1289, 1289, 1289, 890, 889, - 1284, 1309, 884, 862, 1309, 883, 1287, 880, 879, 1288, - 1309, 870, 849, 1309, 1309, 1287, 848, 1309, 1312, 1287, - - 847, 1312, 846, 1291, 842, 841, 840, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, - 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, 1350, - 1350, 1350, 1350, 839, 1288, 1312, 708, 702, 1312, 702, - 1291, 1306, 838, 1352, 1306, 832, 1283, 1351, 823, 821, - 819, 1355, 819, 657, 1409, 1409, 1409, 1409, 1409, 1409, - 796, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, - 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, - 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1312, 1292, 796, - 1312, 794, 1291, 1306, 1284, 794, 1306, 1309, 1283, 795, - - 1309, 793, 1287, 1307, 1338, 1338, 1338, 1338, 1338, 1338, - 1338, 1338, 1338, 1409, 1309, 757, 1360, 1309, 1312, 1287, - 757, 1312, 1312, 1291, 722, 1312, 1312, 1291, 722, 1312, - 720, 1291, 720, 718, 717, 716, 715, 714, 713, 712, - 1292, 707, 706, 692, 529, 526, 1284, 687, 683, 682, - 1288, 681, 674, 1409, 305, 1361, 661, 660, 477, 1310, - 659, 1409, 1409, 1409, 617, 1409, 1409, 1288, 1308, 1409, - 448, 1292, 1362, 1409, 575, 1292, 1363, 575, 567, 1354, - 1313, 566, 565, 1306, 1365, 564, 1306, 563, 1283, 1311, - 562, 561, 557, 1364, 557, 555, 1370, 1314, 1370, 555, - - 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1371, 552, - 551, 550, 545, 365, 544, 543, 542, 533, 356, 353, - 527, 526, 345, 520, 519, 518, 517, 516, 515, 509, - 509, 508, 507, 505, 504, 501, 1284, 1372, 152, 305, - 481, 481, 479, 479, 480, 1373, 1373, 1373, 1373, 478, - 476, 288, 473, 1373, 1373, 1373, 1373, 1373, 1373, 1373, + 625, 625, 626, 681, 682, 511, 681, 682, 511, 512, + 513, 514, 512, 513, 514, 839, 954, 955, 627, 627, + + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 627, 515, 688, 839, 515, 688, 627, + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 627, 627, 649, 1431, 686, 649, 1435, + 686, 430, 1129, 582, 1435, 611, 582, 573, 695, 672, + 573, 613, 673, 650, 1232, 430, 687, 674, 523, 1129, + 527, 523, 616, 527, 699, 617, 690, 340, 690, 690, + 1232, 696, 658, 524, 838, 658, 700, 583, 707, 695, + + 1037, 691, 538, 1435, 637, 701, 583, 637, 839, 702, + 532, 530, 531, 532, 707, 699, 704, 1037, 638, 538, + 650, 638, 844, 532, 530, 531, 532, 700, 842, 581, + 1435, 525, 581, 525, 430, 1232, 701, 358, 665, 839, + 703, 953, 430, 666, 359, 360, 490, 704, 361, 362, + 358, 363, 1430, 699, 936, 364, 697, 359, 360, 842, + 1116, 361, 362, 768, 363, 700, 769, 1232, 364, 582, + 1435, 770, 582, 1117, 701, 365, 582, 1435, 703, 582, + 753, 773, 774, 1435, 699, 774, 582, 1435, 365, 582, + 775, 1435, 920, 775, 776, 1435, 700, 776, 777, 1435, + + 1232, 777, 876, 778, 1435, 701, 778, 779, 1435, 703, + 779, 591, 1435, 1232, 591, 780, 1435, 878, 780, 781, + 1435, 1245, 781, 782, 1435, 639, 782, 1232, 639, 366, + 367, 368, 369, 876, 370, 1232, 371, 372, 783, 1435, + 879, 783, 366, 367, 368, 369, 899, 370, 878, 371, + 372, 726, 561, 726, 726, 1050, 727, 784, 1435, 1232, + 784, 785, 1435, 901, 785, 786, 1435, 1232, 786, 787, + 1435, 879, 787, 788, 1435, 1232, 788, 899, 728, 789, + 1435, 640, 789, 1061, 640, 729, 730, 1056, 641, 731, + 732, 641, 733, 1232, 901, 1232, 734, 790, 792, 1435, + + 1046, 792, 793, 1435, 735, 793, 794, 1435, 1435, 794, + 796, 1435, 914, 796, 620, 1435, 736, 620, 644, 645, + 1036, 644, 645, 621, 630, 630, 630, 630, 630, 630, + 630, 630, 630, 631, 1435, 647, 631, 648, 647, 917, + 648, 1057, 632, 649, 790, 649, 649, 653, 649, 654, + 653, 656, 654, 657, 656, 658, 657, 1232, 658, 816, + 1435, 1062, 816, 818, 1435, 675, 818, 915, 675, 916, + 737, 738, 739, 740, 1232, 741, 1232, 742, 743, 561, + 561, 561, 561, 1429, 744, 819, 1435, 1232, 819, 820, + 1435, 1046, 820, 821, 1435, 1196, 821, 822, 1435, 1056, + + 822, 823, 1435, 1232, 823, 825, 745, 677, 825, 678, + 677, 1242, 678, 746, 747, 1232, 679, 748, 749, 679, + 750, 1232, 680, 681, 751, 680, 681, 682, 827, 902, + 682, 827, 752, 686, 829, 688, 686, 829, 688, 830, + 924, 1435, 830, 924, 753, 690, 340, 690, 690, 690, + 340, 690, 690, 833, 834, 835, 833, 941, 704, 704, + 902, 1428, 704, 833, 834, 835, 833, 777, 1435, 1232, + 777, 704, 778, 1435, 1052, 778, 779, 1435, 1244, 779, + 780, 1435, 1245, 780, 781, 1435, 1427, 781, 941, 704, + 704, 784, 1435, 704, 784, 999, 1000, 1065, 754, 755, + + 756, 757, 704, 758, 1232, 759, 760, 1435, 849, 785, + 1435, 849, 785, 787, 1435, 1426, 787, 788, 1435, 1246, + 788, 789, 1435, 1425, 789, 789, 1435, 825, 789, 1424, + 825, 1232, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 805, 805, + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + 805, 805, 805, 805, 793, 1435, 1232, 793, 1200, 805, + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + 805, 805, 805, 805, 805, 833, 834, 835, 833, 794, + 1435, 938, 794, 1423, 938, 827, 880, 903, 827, 704, + 881, 904, 850, 851, 882, 905, 796, 1435, 944, 796, + 883, 906, 840, 932, 1435, 841, 932, 816, 1435, 1422, + 816, 937, 1435, 1209, 937, 704, 728, 884, 907, 1232, + 704, 881, 904, 729, 730, 882, 905, 731, 732, 944, + 733, 883, 906, 840, 734, 945, 841, 818, 1435, 1202, + 818, 939, 735, 1281, 939, 980, 704, 858, 561, 858, + 858, 745, 859, 829, 736, 1421, 829, 830, 746, 747, + + 830, 942, 748, 749, 942, 750, 945, 819, 1435, 751, + 819, 1420, 820, 1435, 860, 820, 980, 752, 885, 908, + 1232, 861, 862, 982, 938, 863, 864, 938, 865, 753, + 821, 1435, 866, 821, 822, 1435, 983, 822, 823, 1435, + 867, 823, 833, 834, 835, 833, 1003, 1005, 737, 738, + 739, 740, 868, 741, 982, 742, 743, 833, 834, 835, + 833, 1008, 1014, 1015, 1016, 1026, 1027, 983, 1035, 1419, + 1006, 1040, 1046, 1058, 1059, 1074, 1075, 1003, 1005, 1047, + 1210, 1048, 1232, 754, 755, 756, 757, 1190, 758, 1070, + 759, 760, 1008, 1014, 1015, 1016, 704, 1418, 939, 1035, + + 1017, 939, 1040, 1046, 985, 1037, 869, 870, 871, 872, + 1047, 873, 1048, 874, 875, 1435, 1017, 1232, 1049, 1417, + 1070, 985, 904, 932, 1435, 1248, 932, 704, 1038, 924, + 1435, 1416, 924, 1232, 1049, 1007, 1037, 1077, 955, 904, + 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, + 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, + 624, 624, 624, 624, 624, 624, 627, 627, 627, 627, + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 942, 1039, 1415, 942, 1232, 627, 627, 627, + + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 627, 627, 627, 627, 627, 627, 627, + 627, 627, 627, 962, 561, 962, 962, 964, 963, 932, + 1435, 1256, 932, 1247, 965, 966, 1123, 1124, 967, 968, + 984, 969, 695, 704, 985, 970, 401, 815, 986, 401, + 964, 1073, 704, 971, 987, 1104, 1106, 965, 966, 1150, + 1151, 967, 968, 1232, 969, 972, 937, 1435, 970, 937, + 1107, 988, 1411, 695, 704, 985, 971, 1127, 1132, 986, + 1138, 1139, 1009, 704, 1140, 987, 1104, 1106, 972, 833, + 834, 835, 833, 1160, 1010, 1410, 1160, 1159, 1161, 1409, + + 1163, 1107, 1138, 1011, 1237, 1255, 1129, 1012, 1127, 1132, + 1138, 1138, 1139, 1009, 1141, 1140, 1408, 1238, 1109, 973, + 974, 975, 976, 1138, 977, 1010, 978, 979, 1159, 1130, + 1141, 1163, 989, 1138, 1011, 1109, 1009, 1129, 1013, 1165, + 1395, 1138, 973, 974, 975, 976, 1162, 977, 1010, 978, + 979, 1108, 1166, 1166, 1138, 1109, 1138, 1011, 1169, 1110, + 1185, 1013, 1232, 1232, 1022, 1111, 1022, 1009, 1023, 1023, + 1023, 1023, 1023, 1023, 1023, 1023, 1023, 1189, 1236, 1010, + 1204, 1236, 1112, 1166, 1166, 1394, 1109, 1138, 1011, 1169, + 1110, 1185, 1013, 1020, 1131, 1179, 1111, 1393, 1179, 1249, + + 1250, 1021, 1021, 1021, 1021, 1036, 1046, 1392, 1189, 1021, + 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, + 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021, + 1021, 1021, 1021, 1021, 1021, 1041, 1041, 1046, 1133, 1046, + 1138, 1046, 1046, 1113, 1138, 1046, 1232, 1042, 1042, 1203, + 1134, 1191, 1192, 1138, 1046, 1046, 1043, 1043, 1195, 1135, + 1044, 1045, 1232, 1136, 1385, 1192, 1041, 1041, 1232, 1133, + 1046, 1138, 1046, 1046, 1046, 1138, 1046, 1160, 1042, 1042, + 1160, 1134, 1161, 1192, 1138, 1046, 1046, 1043, 1043, 1195, + 1135, 1045, 1045, 1054, 1137, 1054, 1192, 1055, 1055, 1055, + + 1055, 1055, 1055, 1055, 1055, 1055, 1086, 561, 1086, 1086, + 1088, 1087, 1205, 401, 815, 1205, 401, 1089, 1090, 1180, + 1181, 1091, 1092, 1213, 1093, 1133, 1186, 1280, 1094, 1186, + 1162, 1187, 1243, 1088, 1200, 1232, 1095, 1134, 1252, 1253, + 1089, 1090, 1281, 1383, 1091, 1092, 1135, 1093, 1096, 1382, + 1137, 1094, 1037, 1251, 1213, 1186, 1133, 1372, 1186, 1095, + 1187, 833, 834, 835, 833, 1058, 1059, 1232, 1134, 1037, + 1046, 1096, 833, 834, 835, 833, 1371, 1135, 1146, 1188, + 1146, 1137, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, + 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, 1147, + + 901, 1046, 1097, 1098, 1099, 1100, 1370, 1101, 1188, 1102, + 1103, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, + 1220, 834, 1221, 1220, 1369, 1097, 1098, 1099, 1100, 1366, + 1101, 901, 1102, 1103, 1144, 1232, 1206, 1207, 1223, 834, + 1224, 1223, 1145, 1145, 1145, 1145, 1226, 834, 1227, 1226, + 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, + 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, + 1145, 1145, 1145, 1145, 1145, 1145, 1160, 1232, 1192, 1160, + 1232, 1161, 1088, 833, 834, 835, 833, 1232, 1232, 1089, + 1090, 1235, 1365, 1091, 1092, 1046, 1093, 1232, 1261, 1186, + + 1094, 1262, 1186, 1167, 1234, 899, 1168, 1088, 1172, 1192, + 1288, 1040, 902, 1185, 1089, 1090, 1138, 1046, 1091, 1092, + 1096, 1093, 1235, 1232, 1236, 1094, 1046, 1236, 1232, 1162, + 1282, 1283, 1232, 1173, 1167, 1236, 899, 1168, 1236, 1352, + 1232, 1232, 1040, 902, 1185, 1096, 1351, 1138, 1171, 1171, + 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, 1171, + 1171, 1171, 1171, 1171, 1097, 1098, 1099, 1100, 1035, 1101, + 911, 1102, 1103, 1186, 918, 919, 1186, 1186, 1187, 1350, + 1186, 1232, 1234, 912, 1232, 1349, 1232, 1347, 1237, 1097, + + 1098, 1099, 1100, 1232, 1101, 1232, 1102, 1103, 745, 1035, + 1193, 1238, 1232, 1194, 1232, 746, 747, 745, 1232, 748, + 749, 1343, 750, 1046, 746, 747, 751, 1232, 748, 749, + 1232, 750, 704, 1046, 1198, 751, 1188, 1189, 1047, 1037, + 1188, 1193, 1341, 1199, 1194, 1048, 753, 1249, 1250, 745, + 1232, 1046, 1232, 1331, 1046, 753, 746, 747, 1046, 1191, + 748, 749, 1038, 750, 1046, 1232, 1330, 751, 1189, 1047, + 1037, 1327, 1232, 1192, 1049, 752, 1048, 1326, 904, 1232, + 1200, 1325, 1046, 1186, 1046, 1323, 1186, 753, 1234, 1046, + 1049, 1285, 1253, 1046, 1046, 904, 1322, 1046, 1195, 1251, + + 754, 755, 756, 757, 1192, 758, 1046, 759, 760, 754, + 755, 756, 757, 1321, 758, 1046, 759, 760, 561, 561, + 561, 561, 1232, 1233, 1046, 1046, 1232, 1039, 1046, 1195, + 1320, 1232, 1318, 1232, 1232, 1205, 1188, 1046, 1205, 1232, + 1232, 754, 755, 756, 757, 745, 758, 1305, 759, 760, + 1240, 1235, 746, 747, 903, 1041, 748, 749, 904, 750, + 1304, 1046, 905, 751, 1241, 1241, 1232, 1042, 906, 1240, + 1232, 752, 1186, 1259, 1270, 1186, 1043, 1187, 1252, 1253, + 1044, 1240, 1235, 753, 1037, 907, 1041, 1046, 1046, 904, + 1303, 1041, 1046, 905, 1236, 1241, 1241, 1236, 1042, 906, + + 1240, 1302, 1300, 1042, 1259, 1270, 1328, 1043, 1269, 1329, + 1046, 1045, 1043, 1232, 1080, 1037, 1045, 704, 1046, 1046, + 1295, 1054, 1041, 1054, 1294, 1055, 1055, 1055, 1055, 1055, + 1055, 1055, 1055, 1055, 1042, 1293, 1232, 754, 755, 756, + 757, 1046, 758, 1043, 759, 760, 908, 1045, 1186, 1292, + 1290, 1186, 1186, 1234, 1291, 1186, 1296, 1234, 745, 1206, + 1207, 1223, 834, 1224, 1223, 746, 747, 1290, 1289, 748, + 749, 1319, 750, 1324, 1288, 1193, 751, 704, 1194, 1265, + 834, 1221, 1265, 1287, 1198, 1291, 1286, 1296, 1046, 1344, + 1251, 1046, 1265, 834, 1221, 1265, 753, 1284, 1232, 1232, + + 1278, 1188, 1319, 1275, 1324, 1188, 1193, 1367, 704, 1194, + 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1046, + 1344, 745, 1046, 1265, 834, 1221, 1265, 1271, 746, 747, + 1046, 1186, 748, 749, 1186, 750, 1187, 1269, 1367, 751, + 1266, 834, 1224, 1266, 1268, 1264, 1263, 1199, 1260, 1232, + 754, 755, 756, 757, 1435, 758, 1258, 759, 760, 753, + 1256, 1046, 1435, 1435, 1435, 1435, 1266, 834, 1224, 1266, + 1046, 1266, 834, 1224, 1266, 1267, 834, 1227, 1267, 1267, + 834, 1227, 1267, 1255, 1188, 1267, 834, 1227, 1267, 1186, + 1186, 745, 1186, 1186, 1187, 1187, 1254, 1248, 746, 747, + + 1247, 1046, 748, 749, 1246, 750, 1245, 1186, 1245, 751, + 1186, 1244, 1187, 754, 755, 756, 757, 752, 758, 1243, + 759, 760, 1265, 834, 1221, 1265, 1273, 1435, 1273, 753, + 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1276, + 1242, 1276, 1188, 1277, 1277, 1277, 1277, 1277, 1277, 1277, + 1277, 1277, 1266, 834, 1224, 1266, 1267, 834, 1227, 1267, + 1298, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, + 1186, 1036, 1239, 1186, 1186, 1187, 1232, 1186, 1232, 1187, + 1231, 1229, 1228, 754, 755, 756, 757, 1218, 758, 1217, + 759, 760, 1277, 1277, 1277, 1277, 1277, 1277, 1277, 1277, + + 1277, 745, 1186, 1216, 1215, 1186, 1214, 1187, 746, 747, + 745, 1307, 748, 749, 1307, 750, 1308, 746, 747, 751, + 1210, 748, 749, 1299, 750, 1209, 1311, 1188, 751, 1311, + 1315, 1312, 1208, 1315, 1204, 1316, 1435, 1186, 1203, 753, + 1186, 1435, 1187, 1202, 1435, 1435, 1435, 1435, 753, 1435, + 1435, 1435, 1435, 1311, 1186, 1188, 1311, 1186, 1312, 1187, + 1332, 1201, 1200, 1332, 1309, 1308, 1332, 1332, 1056, 1332, + 1332, 1308, 1308, 1332, 1046, 1046, 1332, 1335, 1308, 1313, + 1335, 1335, 1312, 1317, 1335, 1196, 1312, 1190, 1184, 1183, + 1188, 1182, 1178, 754, 755, 756, 757, 1177, 758, 1176, + + 759, 760, 754, 755, 756, 757, 1313, 758, 1175, 759, + 760, 1335, 1335, 1309, 1335, 1335, 1312, 1312, 1338, 1309, + 1309, 1338, 1338, 1316, 1174, 1338, 1309, 1316, 1338, 1148, + 1313, 1338, 1138, 1316, 1313, 1333, 1338, 1138, 1170, 1338, + 1164, 1316, 833, 834, 835, 833, 1158, 1157, 1334, 833, + 834, 835, 833, 1156, 1155, 1332, 1154, 1153, 1332, 1152, + 1308, 1143, 1142, 1335, 1313, 1313, 1335, 1338, 1312, 1435, + 1338, 1317, 1316, 1128, 1336, 1317, 1126, 1435, 1435, 1435, + 1435, 1317, 1125, 1332, 1122, 1119, 1332, 1337, 1308, 1317, + 1096, 1332, 1118, 1115, 1332, 1345, 1308, 1345, 1339, 1346, + + 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1309, 1332, + 1114, 1340, 1332, 1105, 1308, 1083, 1313, 1082, 1335, 1082, + 1317, 1335, 1355, 1312, 1355, 1081, 1356, 1356, 1356, 1356, + 1356, 1356, 1356, 1356, 1356, 1335, 1374, 1080, 1335, 1079, + 1312, 1078, 953, 1076, 1375, 1071, 1435, 1435, 1359, 1435, + 1359, 1066, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, + 1360, 1065, 1309, 1342, 1332, 1064, 1063, 1332, 1062, 1308, + 1061, 1377, 1335, 1338, 1353, 1335, 1338, 1312, 1316, 1060, + 1052, 1051, 1354, 1354, 1354, 1354, 1050, 1036, 1313, 1034, + 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, + + 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, 1354, + 1354, 1354, 1354, 1354, 1354, 1354, 1033, 1309, 1335, 1032, + 1031, 1335, 1030, 1312, 1029, 1378, 1380, 1338, 1357, 1028, + 1338, 1019, 1316, 1018, 1004, 1002, 1358, 1358, 1358, 1358, + 1001, 998, 995, 972, 1358, 1358, 1358, 1358, 1358, 1358, + 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, + 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, 1358, + 994, 1313, 1338, 1186, 991, 1338, 1186, 1316, 1187, 990, + 1381, 1186, 1361, 981, 1186, 959, 1187, 958, 957, 956, + 1362, 1362, 1362, 1362, 950, 949, 948, 947, 1362, 1362, + + 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, + 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, 1362, + 1362, 1362, 1362, 1362, 1338, 1317, 1188, 1338, 947, 1316, + 946, 694, 943, 834, 1188, 1332, 1435, 1363, 1332, 1363, + 1308, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, + 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1306, + 1435, 1435, 1435, 1310, 1435, 1435, 921, 1306, 1306, 1306, + 1306, 1310, 1310, 1310, 1310, 920, 1314, 1317, 1332, 917, + 914, 1332, 753, 1308, 1314, 1314, 1314, 1314, 1375, 1306, + 1332, 913, 910, 1332, 1384, 1308, 909, 1306, 1306, 1306, + + 1306, 900, 898, 897, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, - 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1309, - 468, 467, 1309, 464, 1287, 455, 451, 448, 1409, 395, - 393, 391, 1374, 226, 1374, 224, 1375, 1375, 1375, 1375, - - 1375, 1375, 1375, 1375, 1375, 219, 379, 375, 377, 375, - 373, 372, 207, 201, 204, 203, 194, 203, 339, 338, + 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, 1373, + 1332, 1309, 894, 1332, 891, 1308, 868, 890, 887, 1335, + 886, 877, 1335, 1374, 1312, 855, 854, 1356, 1356, 1356, + 1356, 1356, 1356, 1356, 1356, 1356, 1360, 1360, 1360, 1360, + 1360, 1360, 1360, 1360, 1360, 1310, 853, 852, 848, 1314, + 847, 846, 845, 1310, 1310, 1310, 1310, 1314, 1314, 1314, + 1314, 844, 710, 1309, 1335, 704, 704, 1335, 843, 1312, + 837, 828, 1313, 1335, 826, 824, 1335, 1335, 1312, 824, + + 1335, 1338, 1312, 659, 1338, 1435, 1316, 1435, 1435, 1435, + 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, + 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, + 1376, 1376, 1376, 1376, 1376, 1376, 1435, 1313, 1338, 1435, + 801, 1338, 801, 1316, 1332, 799, 1378, 1332, 799, 1308, + 1377, 800, 798, 1435, 1381, 762, 762, 725, 725, 723, + 723, 721, 720, 719, 1379, 1379, 1379, 1379, 1379, 1379, + 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, + 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, + 1338, 1317, 718, 1338, 717, 1316, 1332, 1309, 716, 1332, + + 1335, 1308, 715, 1335, 714, 1312, 1333, 1364, 1364, 1364, + 1364, 1364, 1364, 1364, 1364, 1364, 709, 1335, 708, 1386, + 1335, 1338, 1312, 694, 1338, 1338, 1316, 530, 1338, 1338, + 1316, 527, 1338, 689, 1316, 685, 684, 683, 676, 1435, + 305, 663, 662, 1317, 478, 661, 1435, 1435, 1435, 1309, + 619, 1435, 1435, 1313, 1435, 449, 1435, 577, 1387, 577, + 569, 568, 1336, 567, 566, 565, 564, 563, 559, 559, + 1313, 1334, 557, 557, 1317, 1388, 554, 553, 1317, 1389, + 552, 549, 1380, 1339, 546, 365, 1332, 1391, 545, 1332, + 544, 1308, 1337, 543, 534, 356, 1390, 353, 528, 1396, + + 1340, 1396, 527, 1397, 1397, 1397, 1397, 1397, 1397, 1397, + 1397, 1397, 345, 521, 520, 519, 518, 517, 516, 510, + 510, 509, 508, 506, 505, 502, 152, 305, 482, 482, + 480, 480, 481, 479, 477, 288, 474, 469, 468, 1309, + 1398, 465, 456, 452, 449, 1435, 396, 394, 1399, 1399, + 1399, 1399, 392, 226, 224, 219, 1399, 1399, 1399, 1399, + 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, + 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, 1399, + 1399, 1399, 1335, 380, 376, 1335, 378, 1312, 376, 374, + 373, 207, 201, 204, 203, 1400, 194, 1400, 203, 1401, + + 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1401, 339, 338, 337, 336, 335, 334, 321, 152, 299, 297, 294, 293, - 275, 274, 1288, 1376, 238, 125, 124, 238, 104, 223, - 222, 1377, 1377, 1377, 1377, 212, 211, 210, 209, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, 1377, - 1377, 1377, 1377, 1377, 1377, 1312, 204, 203, 1312, 199, - 1291, 187, 185, 183, 181, 180, 179, 178, 1378, 172, - 1378, 170, 1379, 1379, 1379, 1379, 1379, 1379, 1379, 1379, - - 1379, 160, 159, 156, 127, 125, 124, 108, 1409, 102, - 102, 38, 38, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1292, 1380, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1381, 1381, 1381, - 1381, 1409, 1409, 1409, 1409, 1381, 1381, 1381, 1381, 1381, - 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, - 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, 1381, - 1381, 1306, 1409, 1409, 1306, 1409, 1283, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1371, 1371, - 1371, 1371, 1371, 1371, 1371, 1371, 1371, 1409, 1309, 1409, - - 1409, 1309, 1409, 1287, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1375, 1375, 1375, 1375, 1375, - 1375, 1375, 1375, 1375, 1284, 1386, 1386, 1386, 1386, 1386, - 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, - 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, 1386, - 1386, 1288, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, - 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, - 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1312, 1409, - 1409, 1312, 1409, 1291, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1379, 1379, 1379, 1379, 1379, - - 1379, 1379, 1379, 1379, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1292, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, - 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, - 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 38, 38, - 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, - 56, 68, 68, 68, 68, 68, 68, 68, 68, 68, - - 68, 68, 73, 73, 73, 73, 73, 73, 73, 73, - 73, 73, 73, 42, 42, 42, 42, 42, 42, 42, - 42, 42, 42, 42, 90, 90, 90, 90, 90, 90, - 90, 90, 90, 90, 90, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 101, 101, 101, - 101, 101, 101, 101, 101, 101, 101, 101, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 128, - 128, 128, 128, 161, 161, 1409, 161, 161, 161, 161, - 161, 161, 161, 161, 171, 1409, 1409, 1409, 171, 171, - - 171, 171, 171, 171, 171, 176, 176, 1409, 1409, 176, - 176, 176, 176, 176, 176, 176, 182, 182, 1409, 182, - 182, 182, 182, 182, 182, 182, 182, 184, 1409, 1409, - 1409, 184, 184, 184, 184, 184, 184, 184, 186, 1409, - 1409, 1409, 186, 186, 186, 186, 186, 186, 186, 188, - 1409, 1409, 1409, 188, 188, 188, 188, 188, 188, 188, - 205, 205, 1409, 205, 205, 205, 205, 205, 205, 205, - 205, 213, 213, 1409, 213, 213, 213, 213, 213, 213, - 213, 213, 218, 218, 1409, 218, 218, 218, 218, 218, - 218, 218, 218, 228, 228, 1409, 228, 228, 228, 228, - - 228, 228, 228, 228, 243, 243, 243, 243, 243, 243, - 243, 243, 243, 243, 243, 128, 128, 128, 128, 277, - 277, 1409, 277, 277, 277, 277, 277, 277, 277, 277, - 279, 279, 1409, 279, 279, 279, 279, 279, 279, 279, - 279, 287, 287, 1409, 287, 287, 287, 287, 287, 287, - 287, 287, 292, 292, 1409, 292, 292, 292, 292, 292, - 292, 292, 292, 295, 1409, 295, 295, 296, 296, 298, - 1409, 1409, 298, 298, 171, 1409, 1409, 1409, 171, 171, - 171, 171, 171, 171, 171, 176, 176, 1409, 1409, 176, - 176, 176, 176, 176, 176, 176, 182, 182, 1409, 182, - - 182, 182, 182, 182, 182, 182, 182, 184, 1409, 1409, - 1409, 184, 184, 184, 184, 184, 184, 184, 186, 1409, - 1409, 1409, 186, 186, 186, 186, 186, 186, 186, 188, - 1409, 1409, 1409, 188, 188, 188, 188, 188, 188, 188, - 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 352, 352, 1409, 352, 352, 352, 352, 352, 352, - 352, 352, 374, 374, 1409, 374, 374, 374, 374, 374, - 374, 374, 374, 376, 376, 1409, 376, 376, 376, 376, - 376, 376, 376, 376, 218, 218, 1409, 218, 218, 218, - 218, 218, 218, 218, 218, 228, 228, 1409, 228, 228, - - 228, 228, 228, 228, 228, 228, 400, 400, 400, 400, - 400, 400, 400, 400, 400, 400, 400, 287, 287, 1409, - 287, 287, 287, 287, 287, 287, 287, 287, 475, 475, - 1409, 475, 475, 475, 475, 475, 475, 475, 475, 277, - 277, 1409, 277, 277, 277, 277, 277, 277, 277, 277, - 477, 477, 1409, 477, 477, 477, 477, 477, 477, 477, - 477, 482, 482, 1409, 482, 482, 482, 482, 482, 482, - 482, 482, 483, 483, 1409, 483, 483, 483, 483, 483, - 483, 483, 483, 484, 484, 484, 484, 484, 1409, 484, - 484, 484, 484, 484, 485, 485, 1409, 485, 485, 485, - - 485, 485, 485, 485, 485, 487, 487, 488, 488, 488, - 488, 1409, 488, 488, 488, 488, 488, 488, 489, 489, - 489, 489, 489, 1409, 489, 489, 489, 489, 489, 521, - 521, 1409, 521, 521, 521, 521, 521, 521, 521, 521, - 343, 343, 343, 343, 343, 343, 343, 343, 343, 343, - 343, 528, 528, 1409, 528, 528, 528, 528, 528, 528, - 528, 528, 553, 553, 1409, 553, 553, 553, 553, 553, - 553, 553, 553, 554, 554, 1409, 554, 554, 554, 554, - 554, 554, 554, 554, 556, 556, 1409, 556, 556, 556, - 556, 556, 556, 556, 556, 560, 560, 1409, 560, 560, - - 560, 560, 560, 560, 560, 560, 568, 568, 1409, 568, - 568, 568, 568, 568, 568, 568, 568, 228, 228, 1409, - 228, 228, 228, 228, 228, 228, 228, 228, 606, 606, - 1409, 606, 606, 606, 606, 606, 606, 606, 606, 608, - 608, 1409, 608, 608, 608, 608, 608, 608, 608, 608, - 616, 616, 1409, 616, 616, 616, 616, 616, 616, 616, - 616, 649, 649, 1409, 649, 649, 649, 649, 649, 649, - 649, 649, 653, 653, 1409, 653, 653, 653, 653, 653, - 653, 653, 653, 475, 475, 1409, 475, 475, 475, 475, - 475, 475, 475, 475, 657, 657, 1409, 657, 657, 657, - - 657, 657, 657, 657, 657, 658, 658, 1409, 658, 658, - 658, 658, 658, 658, 658, 658, 484, 484, 484, 484, - 484, 484, 484, 484, 484, 484, 484, 298, 298, 488, - 488, 488, 488, 488, 488, 488, 488, 488, 488, 488, - 489, 489, 489, 489, 489, 489, 489, 489, 489, 489, - 489, 608, 608, 1409, 608, 608, 608, 608, 608, 608, - 608, 608, 521, 521, 1409, 521, 521, 521, 521, 521, - 521, 521, 521, 690, 690, 1409, 690, 690, 690, 690, - 690, 690, 690, 690, 553, 553, 1409, 553, 553, 553, - 553, 553, 553, 553, 553, 719, 719, 1409, 719, 719, - - 719, 719, 719, 719, 719, 719, 721, 721, 1409, 721, - 721, 721, 721, 721, 721, 721, 721, 756, 756, 1409, - 756, 756, 756, 756, 756, 756, 756, 756, 568, 568, - 1409, 568, 568, 568, 568, 568, 568, 568, 568, 758, - 758, 1409, 758, 758, 758, 758, 758, 758, 758, 758, - 759, 759, 1409, 759, 759, 759, 759, 759, 759, 759, - 759, 228, 228, 1409, 228, 228, 228, 228, 228, 228, - 228, 228, 760, 760, 1409, 760, 760, 760, 760, 760, - 760, 760, 760, 761, 761, 1409, 761, 761, 761, 761, - 761, 761, 761, 761, 762, 762, 1409, 762, 762, 762, - - 762, 762, 762, 762, 762, 766, 766, 1409, 766, 766, - 766, 766, 766, 766, 766, 766, 786, 786, 1409, 786, - 786, 786, 786, 786, 786, 786, 786, 790, 790, 1409, - 790, 790, 790, 790, 790, 790, 790, 790, 606, 606, - 1409, 606, 606, 606, 606, 606, 606, 606, 606, 792, - 792, 1409, 792, 792, 792, 792, 792, 792, 792, 792, - 797, 797, 1409, 797, 797, 797, 797, 797, 797, 797, - 797, 798, 798, 798, 798, 798, 798, 798, 798, 798, - 798, 798, 801, 801, 801, 801, 801, 801, 801, 801, - 801, 801, 801, 802, 802, 802, 802, 802, 802, 802, - - 802, 802, 802, 802, 803, 803, 1409, 803, 803, 803, - 803, 803, 803, 803, 803, 804, 804, 1409, 804, 804, - 804, 804, 804, 804, 804, 804, 805, 805, 1409, 805, - 805, 805, 805, 805, 805, 805, 805, 806, 806, 1409, - 806, 806, 806, 806, 806, 806, 806, 806, 807, 807, - 1409, 807, 807, 807, 807, 807, 807, 807, 807, 808, - 808, 1409, 808, 808, 808, 808, 808, 808, 808, 808, - 649, 649, 1409, 649, 649, 649, 649, 649, 649, 649, - 649, 809, 809, 1409, 809, 809, 809, 809, 809, 809, - 809, 809, 653, 653, 1409, 653, 653, 653, 653, 653, - - 653, 653, 653, 810, 1409, 810, 810, 810, 810, 810, - 810, 810, 810, 810, 792, 792, 1409, 792, 792, 792, - 792, 792, 792, 792, 792, 521, 521, 521, 521, 521, - 521, 521, 521, 521, 521, 521, 826, 826, 1409, 826, - 826, 826, 826, 826, 826, 826, 826, 850, 850, 1409, - 850, 850, 850, 850, 850, 850, 850, 850, 719, 719, - 1409, 719, 719, 719, 719, 719, 719, 719, 719, 851, - 851, 1409, 851, 851, 851, 851, 851, 851, 851, 851, - 721, 721, 1409, 721, 721, 721, 721, 721, 721, 721, - 721, 913, 913, 1409, 913, 913, 913, 913, 913, 913, - - 913, 913, 756, 756, 1409, 756, 756, 756, 756, 756, - 756, 756, 756, 758, 758, 1409, 758, 758, 758, 758, - 758, 758, 758, 758, 759, 759, 1409, 759, 759, 759, - 759, 759, 759, 759, 759, 760, 760, 1409, 760, 760, - 760, 760, 760, 760, 760, 760, 761, 761, 1409, 761, - 761, 761, 761, 761, 761, 761, 761, 762, 762, 1409, - 762, 762, 762, 762, 762, 762, 762, 762, 766, 766, - 1409, 766, 766, 766, 766, 766, 766, 766, 766, 916, - 916, 1409, 916, 916, 916, 916, 916, 916, 916, 916, - 917, 917, 1409, 917, 917, 917, 917, 917, 917, 917, - - 917, 918, 918, 1409, 918, 918, 918, 918, 918, 918, - 918, 918, 919, 919, 1409, 919, 919, 919, 919, 919, - 919, 919, 919, 920, 920, 1409, 920, 920, 920, 920, - 920, 920, 920, 920, 921, 921, 1409, 921, 921, 921, - 921, 921, 921, 921, 921, 786, 786, 1409, 786, 786, - 786, 786, 786, 786, 786, 786, 922, 922, 1409, 922, - 922, 922, 922, 922, 922, 922, 922, 790, 790, 1409, - 790, 790, 790, 790, 790, 790, 790, 790, 924, 924, - 1409, 924, 924, 924, 924, 924, 924, 924, 924, 798, - 798, 798, 798, 798, 798, 798, 798, 798, 798, 798, - - 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, - 801, 802, 802, 802, 802, 802, 802, 802, 802, 802, - 802, 802, 803, 803, 1409, 803, 803, 803, 803, 803, - 803, 803, 803, 804, 804, 1409, 804, 804, 804, 804, - 804, 804, 804, 804, 805, 805, 1409, 805, 805, 805, - 805, 805, 805, 805, 805, 806, 806, 1409, 806, 806, - 806, 806, 806, 806, 806, 806, 807, 807, 1409, 807, - 807, 807, 807, 807, 807, 807, 807, 808, 808, 1409, + 275, 274, 238, 125, 124, 238, 104, 223, 222, 212, + 211, 210, 209, 204, 203, 1313, 1402, 199, 187, 185, + 183, 181, 180, 179, 1403, 1403, 1403, 1403, 178, 172, + 170, 160, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, + 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, + 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1403, 1338, 159, + 156, 1338, 127, 1316, 125, 124, 108, 1435, 102, 102, + 38, 1404, 38, 1404, 1435, 1405, 1405, 1405, 1405, 1405, + + 1405, 1405, 1405, 1405, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1317, 1406, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1407, 1407, 1407, 1407, 1435, 1435, 1435, 1435, 1407, 1407, + 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, + 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, 1407, + 1407, 1407, 1407, 1407, 1332, 1435, 1435, 1332, 1435, 1308, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, 1397, + + 1435, 1335, 1435, 1435, 1335, 1435, 1312, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1401, 1401, + 1401, 1401, 1401, 1401, 1401, 1401, 1401, 1309, 1412, 1412, + 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, + 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, + 1412, 1412, 1412, 1412, 1313, 1413, 1413, 1413, 1413, 1413, + 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, + 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, + 1413, 1338, 1435, 1435, 1338, 1435, 1316, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1405, 1405, + + 1405, 1405, 1405, 1405, 1405, 1405, 1405, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1317, 1414, 1414, 1414, 1414, 1414, + 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, + 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, + 1414, 38, 38, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 39, 39, 56, 56, 56, 56, 56, 56, 56, + 56, 56, 56, 56, 68, 68, 68, 68, 68, 68, + + 68, 68, 68, 68, 68, 73, 73, 73, 73, 73, + 73, 73, 73, 73, 73, 73, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 90, 90, 90, + 90, 90, 90, 90, 90, 90, 90, 90, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 101, 101, 101, 101, 101, 101, 101, 101, 101, 101, + 101, 114, 114, 114, 114, 114, 114, 114, 114, 114, + 114, 114, 128, 128, 128, 128, 161, 161, 1435, 161, + 161, 161, 161, 161, 161, 161, 161, 171, 1435, 1435, + + 1435, 171, 171, 171, 171, 171, 171, 171, 176, 176, + 1435, 1435, 176, 176, 176, 176, 176, 176, 176, 182, + 182, 1435, 182, 182, 182, 182, 182, 182, 182, 182, + 184, 1435, 1435, 1435, 184, 184, 184, 184, 184, 184, + 184, 186, 1435, 1435, 1435, 186, 186, 186, 186, 186, + 186, 186, 188, 1435, 1435, 1435, 188, 188, 188, 188, + 188, 188, 188, 205, 205, 1435, 205, 205, 205, 205, + 205, 205, 205, 205, 213, 213, 1435, 213, 213, 213, + 213, 213, 213, 213, 213, 218, 218, 1435, 218, 218, + 218, 218, 218, 218, 218, 218, 228, 228, 1435, 228, + + 228, 228, 228, 228, 228, 228, 228, 243, 243, 243, + 243, 243, 243, 243, 243, 243, 243, 243, 128, 128, + 128, 128, 277, 277, 1435, 277, 277, 277, 277, 277, + 277, 277, 277, 279, 279, 1435, 279, 279, 279, 279, + 279, 279, 279, 279, 287, 287, 1435, 287, 287, 287, + 287, 287, 287, 287, 287, 292, 292, 1435, 292, 292, + 292, 292, 292, 292, 292, 292, 295, 1435, 295, 295, + 296, 296, 298, 1435, 1435, 298, 298, 171, 1435, 1435, + 1435, 171, 171, 171, 171, 171, 171, 171, 176, 176, + 1435, 1435, 176, 176, 176, 176, 176, 176, 176, 182, + + 182, 1435, 182, 182, 182, 182, 182, 182, 182, 182, + 184, 1435, 1435, 1435, 184, 184, 184, 184, 184, 184, + 184, 186, 1435, 1435, 1435, 186, 186, 186, 186, 186, + 186, 186, 188, 1435, 1435, 1435, 188, 188, 188, 188, + 188, 188, 188, 343, 343, 343, 343, 343, 343, 343, + 343, 343, 343, 343, 352, 352, 1435, 352, 352, 352, + 352, 352, 352, 352, 352, 375, 375, 1435, 375, 375, + 375, 375, 375, 375, 375, 375, 377, 377, 1435, 377, + 377, 377, 377, 377, 377, 377, 377, 218, 218, 1435, + 218, 218, 218, 218, 218, 218, 218, 218, 228, 228, + + 1435, 228, 228, 228, 228, 228, 228, 228, 228, 401, + 401, 401, 401, 401, 401, 401, 401, 401, 401, 401, + 287, 287, 1435, 287, 287, 287, 287, 287, 287, 287, + 287, 476, 476, 1435, 476, 476, 476, 476, 476, 476, + 476, 476, 277, 277, 1435, 277, 277, 277, 277, 277, + 277, 277, 277, 478, 478, 1435, 478, 478, 478, 478, + 478, 478, 478, 478, 483, 483, 1435, 483, 483, 483, + 483, 483, 483, 483, 483, 484, 484, 1435, 484, 484, + 484, 484, 484, 484, 484, 484, 485, 485, 485, 485, + 485, 1435, 485, 485, 485, 485, 485, 486, 486, 1435, + + 486, 486, 486, 486, 486, 486, 486, 486, 488, 488, + 489, 489, 489, 489, 1435, 489, 489, 489, 489, 489, + 489, 490, 490, 490, 490, 490, 1435, 490, 490, 490, + 490, 490, 522, 522, 1435, 522, 522, 522, 522, 522, + 522, 522, 522, 343, 343, 343, 343, 343, 343, 343, + 343, 343, 343, 343, 529, 529, 1435, 529, 529, 529, + 529, 529, 529, 529, 529, 555, 555, 1435, 555, 555, + 555, 555, 555, 555, 555, 555, 556, 556, 1435, 556, + 556, 556, 556, 556, 556, 556, 556, 558, 558, 1435, + 558, 558, 558, 558, 558, 558, 558, 558, 562, 562, + + 1435, 562, 562, 562, 562, 562, 562, 562, 562, 570, + 570, 1435, 570, 570, 570, 570, 570, 570, 570, 570, + 228, 228, 1435, 228, 228, 228, 228, 228, 228, 228, + 228, 608, 608, 1435, 608, 608, 608, 608, 608, 608, + 608, 608, 610, 610, 1435, 610, 610, 610, 610, 610, + 610, 610, 610, 618, 618, 1435, 618, 618, 618, 618, + 618, 618, 618, 618, 651, 651, 1435, 651, 651, 651, + 651, 651, 651, 651, 651, 655, 655, 1435, 655, 655, + 655, 655, 655, 655, 655, 655, 476, 476, 1435, 476, + 476, 476, 476, 476, 476, 476, 476, 659, 659, 1435, + + 659, 659, 659, 659, 659, 659, 659, 659, 660, 660, + 1435, 660, 660, 660, 660, 660, 660, 660, 660, 485, + 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, + 298, 298, 489, 489, 489, 489, 489, 489, 489, 489, + 489, 489, 489, 490, 490, 490, 490, 490, 490, 490, + 490, 490, 490, 490, 610, 610, 1435, 610, 610, 610, + 610, 610, 610, 610, 610, 522, 522, 1435, 522, 522, + 522, 522, 522, 522, 522, 522, 692, 692, 1435, 692, + 692, 692, 692, 692, 692, 692, 692, 555, 555, 1435, + 555, 555, 555, 555, 555, 555, 555, 555, 722, 722, + + 1435, 722, 722, 722, 722, 722, 722, 722, 722, 724, + 724, 1435, 724, 724, 724, 724, 724, 724, 724, 724, + 761, 761, 1435, 761, 761, 761, 761, 761, 761, 761, + 761, 570, 570, 1435, 570, 570, 570, 570, 570, 570, + 570, 570, 763, 763, 1435, 763, 763, 763, 763, 763, + 763, 763, 763, 764, 764, 1435, 764, 764, 764, 764, + 764, 764, 764, 764, 228, 228, 1435, 228, 228, 228, + 228, 228, 228, 228, 228, 765, 765, 1435, 765, 765, + 765, 765, 765, 765, 765, 765, 766, 766, 1435, 766, + 766, 766, 766, 766, 766, 766, 766, 767, 767, 1435, + + 767, 767, 767, 767, 767, 767, 767, 767, 771, 771, + 1435, 771, 771, 771, 771, 771, 771, 771, 771, 791, + 791, 1435, 791, 791, 791, 791, 791, 791, 791, 791, + 795, 795, 1435, 795, 795, 795, 795, 795, 795, 795, + 795, 608, 608, 1435, 608, 608, 608, 608, 608, 608, + 608, 608, 797, 797, 1435, 797, 797, 797, 797, 797, + 797, 797, 797, 802, 802, 1435, 802, 802, 802, 802, + 802, 802, 802, 802, 803, 803, 803, 803, 803, 803, + 803, 803, 803, 803, 803, 806, 806, 806, 806, 806, + 806, 806, 806, 806, 806, 806, 807, 807, 807, 807, + + 807, 807, 807, 807, 807, 807, 807, 808, 808, 1435, 808, 808, 808, 808, 808, 808, 808, 808, 809, 809, - 1409, 809, 809, 809, 809, 809, 809, 809, 809, 810, - - 1409, 810, 810, 810, 810, 810, 810, 810, 810, 810, - 931, 931, 1409, 931, 931, 931, 931, 931, 931, 931, - 931, 950, 950, 1409, 950, 950, 950, 950, 950, 950, - 950, 950, 951, 951, 1409, 951, 951, 951, 951, 951, - 951, 951, 951, 1040, 1409, 1040, 1040, 1053, 1053, 1409, - 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 916, 916, - 1409, 916, 916, 916, 916, 916, 916, 916, 916, 917, - 917, 1409, 917, 917, 917, 917, 917, 917, 917, 917, - 918, 918, 1409, 918, 918, 918, 918, 918, 918, 918, - 918, 919, 919, 1409, 919, 919, 919, 919, 919, 919, - - 919, 919, 920, 920, 1409, 920, 920, 920, 920, 920, - 920, 920, 920, 921, 921, 1409, 921, 921, 921, 921, - 921, 921, 921, 921, 922, 922, 1409, 922, 922, 922, - 922, 922, 922, 922, 922, 1054, 1054, 1054, 1054, 1054, - 1054, 1054, 1054, 1054, 1054, 1054, 1055, 1055, 1409, 1055, - 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1069, 1069, 1409, - 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1070, 1070, - 1409, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1191, - 1191, 1409, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, - 1192, 1192, 1409, 1192, 1192, 1192, 1192, 1192, 1192, 1192, - - 1192, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, - 1198, 1198, 1201, 1201, 1201, 1201, 1201, 1201, 1201, 1201, - 1201, 1201, 1201, 1204, 1204, 1204, 1204, 1204, 1204, 1204, - 1204, 1204, 1204, 1204, 1209, 1209, 1409, 1209, 1209, 1209, - 1209, 1209, 1209, 1209, 1209, 1040, 1409, 1040, 1409, 1040, - 1040, 1235, 1235, 1409, 1235, 1235, 1235, 1235, 1235, 1235, - 1235, 1235, 1249, 1409, 1249, 1249, 1256, 1409, 1256, 1256, - 1281, 1281, 1409, 1281, 1281, 1281, 1281, 1281, 1281, 1281, - 1281, 1285, 1285, 1409, 1285, 1285, 1285, 1285, 1285, 1285, - 1285, 1285, 1289, 1289, 1409, 1289, 1289, 1289, 1289, 1289, - - 1289, 1289, 1289, 1322, 1409, 1322, 1322, 37, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409 + 1435, 809, 809, 809, 809, 809, 809, 809, 809, 810, + 810, 1435, 810, 810, 810, 810, 810, 810, 810, 810, + 811, 811, 1435, 811, 811, 811, 811, 811, 811, 811, + 811, 812, 812, 1435, 812, 812, 812, 812, 812, 812, + 812, 812, 813, 813, 1435, 813, 813, 813, 813, 813, + 813, 813, 813, 651, 651, 1435, 651, 651, 651, 651, + 651, 651, 651, 651, 814, 814, 1435, 814, 814, 814, + 814, 814, 814, 814, 814, 655, 655, 1435, 655, 655, + + 655, 655, 655, 655, 655, 655, 815, 1435, 815, 815, + 815, 815, 815, 815, 815, 815, 815, 797, 797, 1435, + 797, 797, 797, 797, 797, 797, 797, 797, 522, 522, + 522, 522, 522, 522, 522, 522, 522, 522, 522, 831, + 831, 1435, 831, 831, 831, 831, 831, 831, 831, 831, + 856, 856, 1435, 856, 856, 856, 856, 856, 856, 856, + 856, 722, 722, 1435, 722, 722, 722, 722, 722, 722, + 722, 722, 857, 857, 1435, 857, 857, 857, 857, 857, + 857, 857, 857, 724, 724, 1435, 724, 724, 724, 724, + 724, 724, 724, 724, 922, 922, 1435, 922, 922, 922, + + 922, 922, 922, 922, 922, 761, 761, 1435, 761, 761, + 761, 761, 761, 761, 761, 761, 763, 763, 1435, 763, + 763, 763, 763, 763, 763, 763, 763, 764, 764, 1435, + 764, 764, 764, 764, 764, 764, 764, 764, 765, 765, + 1435, 765, 765, 765, 765, 765, 765, 765, 765, 766, + 766, 1435, 766, 766, 766, 766, 766, 766, 766, 766, + 767, 767, 1435, 767, 767, 767, 767, 767, 767, 767, + 767, 771, 771, 1435, 771, 771, 771, 771, 771, 771, + 771, 771, 925, 925, 1435, 925, 925, 925, 925, 925, + 925, 925, 925, 926, 926, 1435, 926, 926, 926, 926, + + 926, 926, 926, 926, 927, 927, 1435, 927, 927, 927, + 927, 927, 927, 927, 927, 928, 928, 1435, 928, 928, + 928, 928, 928, 928, 928, 928, 929, 929, 1435, 929, + 929, 929, 929, 929, 929, 929, 929, 930, 930, 1435, + 930, 930, 930, 930, 930, 930, 930, 930, 791, 791, + 1435, 791, 791, 791, 791, 791, 791, 791, 791, 931, + 931, 1435, 931, 931, 931, 931, 931, 931, 931, 931, + 795, 795, 1435, 795, 795, 795, 795, 795, 795, 795, + 795, 933, 933, 1435, 933, 933, 933, 933, 933, 933, + 933, 933, 803, 803, 803, 803, 803, 803, 803, 803, + + 803, 803, 803, 806, 806, 806, 806, 806, 806, 806, + 806, 806, 806, 806, 807, 807, 807, 807, 807, 807, + 807, 807, 807, 807, 807, 808, 808, 1435, 808, 808, + 808, 808, 808, 808, 808, 808, 809, 809, 1435, 809, + 809, 809, 809, 809, 809, 809, 809, 810, 810, 1435, + 810, 810, 810, 810, 810, 810, 810, 810, 811, 811, + 1435, 811, 811, 811, 811, 811, 811, 811, 811, 812, + 812, 1435, 812, 812, 812, 812, 812, 812, 812, 812, + 813, 813, 1435, 813, 813, 813, 813, 813, 813, 813, + 813, 814, 814, 1435, 814, 814, 814, 814, 814, 814, + + 814, 814, 815, 1435, 815, 815, 815, 815, 815, 815, + 815, 815, 815, 940, 940, 1435, 940, 940, 940, 940, + 940, 940, 940, 940, 960, 960, 1435, 960, 960, 960, + 960, 960, 960, 960, 960, 961, 961, 1435, 961, 961, + 961, 961, 961, 961, 961, 961, 1053, 1435, 1053, 1053, + 1067, 1067, 1435, 1067, 1067, 1067, 1067, 1067, 1067, 1067, + 1067, 925, 925, 1435, 925, 925, 925, 925, 925, 925, + 925, 925, 926, 926, 1435, 926, 926, 926, 926, 926, + 926, 926, 926, 927, 927, 1435, 927, 927, 927, 927, + 927, 927, 927, 927, 928, 928, 1435, 928, 928, 928, + + 928, 928, 928, 928, 928, 929, 929, 1435, 929, 929, + 929, 929, 929, 929, 929, 929, 930, 930, 1435, 930, + 930, 930, 930, 930, 930, 930, 930, 931, 931, 1435, + 931, 931, 931, 931, 931, 931, 931, 931, 1068, 1068, + 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1069, + 1069, 1435, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, + 1084, 1084, 1435, 1084, 1084, 1084, 1084, 1084, 1084, 1084, + 1084, 1085, 1085, 1435, 1085, 1085, 1085, 1085, 1085, 1085, + 1085, 1085, 1211, 1211, 1435, 1211, 1211, 1211, 1211, 1211, + 1211, 1211, 1211, 1212, 1212, 1435, 1212, 1212, 1212, 1212, + + 1212, 1212, 1212, 1212, 1219, 1219, 1219, 1219, 1219, 1219, + 1219, 1219, 1219, 1219, 1219, 1222, 1222, 1222, 1222, 1222, + 1222, 1222, 1222, 1222, 1222, 1222, 1225, 1225, 1225, 1225, + 1225, 1225, 1225, 1225, 1225, 1225, 1225, 1230, 1230, 1435, + 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1230, 1053, 1435, + 1053, 1435, 1053, 1053, 1257, 1257, 1435, 1257, 1257, 1257, + 1257, 1257, 1257, 1257, 1257, 1272, 1435, 1272, 1272, 1279, + 1435, 1279, 1279, 1306, 1306, 1435, 1306, 1306, 1306, 1306, + 1306, 1306, 1306, 1306, 1310, 1310, 1435, 1310, 1310, 1310, + 1310, 1310, 1310, 1310, 1310, 1314, 1314, 1435, 1314, 1314, + + 1314, 1314, 1314, 1314, 1314, 1314, 1348, 1435, 1348, 1348, + 37, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435 } ; -static const flex_int16_t yy_chk[7335] = +static const flex_int16_t yy_chk[7441] = { 0, 0, 0, 3, 3, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, @@ -1762,17 +1787,17 @@ static const flex_int16_t yy_chk[7335] = 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, - 15, 9, 10, 25, 25, 25, 25, 7, 27, 27, - 27, 8, 26, 26, 26, 26, 248, 25, 25, 9, - 10, 28, 28, 28, 29, 30, 26, 26, 33, 33, - 248, 29, 30, 34, 34, 15, 1074, 48, 29, 30, - 48, 15, 368, 15, 368, 7, 9, 10, 59, 8, - 258, 59, 40, 40, 40, 40, 25, 55, 25, 258, - - 67, 40, 55, 67, 1592, 26, 15, 26, 40, 1074, - 66, 66, 15, 66, 15, 87, 87, 9, 10, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 5, 5, 5, 5, 5, 7, 7, 7, 7, 8, + 8, 8, 8, 15, 9, 10, 25, 25, 25, 25, + 7, 27, 27, 27, 8, 26, 26, 26, 26, 248, + 25, 25, 9, 10, 28, 28, 28, 29, 30, 26, + 26, 33, 33, 248, 29, 30, 34, 34, 15, 1089, + 48, 29, 30, 48, 15, 368, 15, 368, 7, 9, + 10, 59, 8, 258, 59, 40, 40, 40, 40, 25, + + 55, 25, 258, 67, 40, 55, 67, 1618, 26, 15, + 26, 40, 1089, 66, 66, 15, 66, 15, 87, 87, + 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, @@ -1785,8 +1810,8 @@ static const flex_int16_t yy_chk[7335] = 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, @@ -1799,16 +1824,16 @@ static const flex_int16_t yy_chk[7335] = 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 16, 43, 43, 43, 43, 232, 281, 281, 44, - 44, 44, 44, 232, 305, 305, 43, 43, 44, 44, - 86, 86, 86, 86, 44, 44, 60, 60, 60, 60, - - 60, 60, 60, 99, 99, 1081, 16, 91, 91, 91, - 91, 1587, 16, 267, 16, 104, 104, 1586, 99, 103, - 103, 103, 103, 104, 267, 43, 108, 108, 108, 108, - 104, 111, 44, 126, 111, 108, 126, 16, 127, 318, - 318, 127, 108, 16, 1081, 16, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 16, 43, 43, 43, 43, 232, 281, 281, 44, 44, + 44, 44, 232, 305, 305, 43, 43, 44, 44, 86, + + 86, 86, 86, 44, 44, 60, 60, 60, 60, 60, + 60, 60, 99, 99, 1096, 16, 91, 91, 91, 91, + 1613, 16, 267, 16, 104, 104, 1612, 99, 103, 103, + 103, 103, 104, 267, 43, 108, 108, 108, 108, 104, + 111, 44, 126, 111, 108, 126, 16, 127, 318, 318, + 127, 108, 16, 1096, 16, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, @@ -1821,8 +1846,8 @@ static const flex_int16_t yy_chk[7335] = 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, @@ -1834,8 +1859,10 @@ static const flex_int16_t yy_chk[7335] = 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 23, 23, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, @@ -1844,717 +1871,726 @@ static const flex_int16_t yy_chk[7335] = 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 45, 45, 45, 45, 136, 122, - 135, 136, 358, 122, 113, 52, 122, 130, 52, 45, - 130, 113, 53, 53, 53, 53, 113, 83, 113, 52, - 83, 53, 53, 84, 84, 84, 84, 138, 53, 422, - 138, 83, 83, 358, 1134, 148, 138, 97, 148, 736, - 97, 736, 135, 122, 148, 246, 1575, 45, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 52, 51, - 130, 150, 51, 51, 51, 53, 163, 84, 247, 163, - - 83, 161, 161, 161, 161, 150, 84, 113, 84, 97, - 109, 109, 109, 109, 51, 113, 164, 439, 97, 164, - 151, 151, 151, 151, 109, 109, 1086, 246, 165, 51, - 51, 165, 422, 51, 51, 51, 51, 51, 51, 51, - 97, 51, 1486, 166, 51, 51, 166, 51, 51, 51, - 247, 51, 51, 51, 51, 51, 51, 51, 107, 51, - 51, 51, 1134, 109, 150, 107, 110, 110, 110, 110, - 107, 1464, 150, 151, 107, 107, 107, 167, 107, 315, - 167, 110, 115, 115, 115, 115, 116, 116, 116, 116, - 315, 168, 439, 107, 168, 116, 116, 115, 219, 219, - - 169, 116, 116, 169, 369, 369, 107, 117, 117, 117, - 117, 222, 222, 219, 123, 123, 123, 123, 176, 110, - 1455, 176, 117, 123, 123, 177, 222, 1086, 177, 123, - 123, 397, 397, 235, 149, 115, 235, 149, 492, 116, - 132, 132, 132, 132, 132, 132, 132, 132, 149, 544, - 193, 134, 155, 193, 155, 134, 155, 134, 134, 155, - 117, 121, 121, 134, 121, 193, 238, 123, 134, 238, - 259, 134, 162, 259, 147, 162, 147, 121, 147, 147, - 147, 147, 147, 147, 147, 147, 147, 149, 121, 360, - 162, 162, 162, 162, 121, 121, 155, 361, 121, 259, - - 121, 544, 121, 193, 121, 121, 121, 415, 121, 263, - 121, 259, 263, 492, 121, 190, 190, 190, 190, 121, - 360, 121, 619, 121, 154, 154, 121, 154, 361, 154, - 619, 121, 152, 152, 152, 152, 121, 154, 154, 403, - 189, 152, 152, 189, 154, 268, 268, 268, 152, 156, - 156, 156, 156, 403, 189, 189, 157, 1408, 156, 156, - 157, 196, 157, 157, 203, 156, 415, 203, 157, 191, - 191, 191, 191, 157, 419, 415, 157, 194, 194, 194, - 194, 196, 407, 239, 191, 152, 239, 199, 199, 199, - 199, 239, 196, 189, 200, 200, 200, 200, 201, 201, - - 201, 201, 156, 206, 206, 206, 206, 209, 209, 209, - 209, 229, 196, 216, 229, 251, 251, 203, 251, 226, - 226, 194, 207, 207, 207, 207, 230, 226, 1407, 230, - 194, 199, 194, 221, 226, 221, 273, 545, 545, 273, - 199, 216, 199, 419, 221, 229, 221, 276, 221, 207, - 276, 412, 216, 230, 229, 221, 207, 207, 216, 233, - 207, 207, 237, 207, 407, 233, 423, 207, 254, 230, - 233, 254, 216, 237, 406, 230, 233, 260, 406, 237, - 260, 221, 233, 216, 260, 307, 307, 207, 307, 216, - 883, 412, 290, 237, 260, 290, 233, 240, 240, 240, - - 240, 290, 254, 321, 237, 322, 321, 233, 322, 414, - 237, 254, 240, 233, 241, 241, 241, 241, 242, 242, - 242, 242, 244, 244, 244, 244, 423, 302, 424, 241, - 302, 256, 323, 242, 256, 323, 302, 244, 307, 207, - 207, 207, 883, 207, 324, 207, 207, 324, 1406, 414, - 240, 245, 245, 245, 245, 610, 610, 325, 256, 261, - 325, 304, 304, 304, 304, 261, 245, 241, 495, 445, - 261, 242, 256, 445, 256, 244, 261, 1405, 270, 494, - 256, 312, 261, 326, 312, 327, 326, 328, 327, 270, - 328, 329, 424, 1089, 329, 270, 261, 330, 331, 332, - - 330, 331, 332, 424, 245, 249, 249, 261, 249, 270, - 532, 764, 426, 261, 304, 312, 333, 270, 1089, 333, - 270, 249, 388, 630, 312, 388, 270, 340, 340, 340, - 340, 630, 249, 341, 341, 341, 341, 798, 249, 249, - 342, 532, 249, 342, 249, 798, 249, 495, 249, 249, - 249, 494, 249, 1163, 249, 342, 312, 344, 249, 389, - 344, 312, 389, 249, 1404, 249, 390, 249, 391, 390, - 249, 391, 344, 426, 497, 249, 345, 345, 345, 345, - 249, 250, 250, 250, 250, 250, 250, 250, 250, 250, - 250, 764, 250, 342, 347, 250, 250, 250, 300, 300, - - 300, 300, 300, 300, 300, 300, 300, 1403, 392, 393, - 344, 392, 393, 394, 347, 395, 394, 250, 395, 765, - 345, 351, 351, 351, 351, 347, 752, 396, 752, 345, - 396, 345, 450, 250, 498, 450, 250, 250, 250, 250, - 250, 250, 250, 451, 250, 347, 451, 250, 250, 905, - 250, 250, 250, 497, 250, 250, 250, 250, 250, 250, - 250, 1163, 250, 250, 250, 309, 309, 578, 309, 378, - 378, 378, 378, 1106, 378, 408, 408, 578, 408, 409, - 409, 309, 409, 765, 535, 401, 401, 401, 401, 362, - 537, 309, 309, 362, 309, 1104, 309, 362, 309, 309, - - 401, 905, 309, 362, 309, 309, 309, 420, 309, 309, - 309, 309, 309, 498, 309, 535, 436, 436, 309, 436, - 362, 537, 538, 309, 362, 309, 425, 309, 362, 452, - 309, 865, 452, 865, 362, 309, 429, 429, 401, 429, - 309, 310, 310, 310, 310, 310, 310, 310, 310, 310, - 310, 453, 310, 538, 453, 310, 310, 310, 1106, 539, - 402, 402, 402, 402, 420, 670, 670, 420, 404, 404, - 404, 404, 496, 438, 438, 402, 438, 310, 454, 362, - 626, 454, 438, 404, 626, 1108, 425, 425, 425, 429, - 539, 455, 456, 310, 455, 456, 310, 310, 310, 310, - - 310, 310, 310, 457, 310, 663, 457, 310, 310, 1104, - 310, 310, 310, 402, 310, 310, 310, 310, 310, 310, - 310, 404, 310, 310, 310, 353, 353, 353, 353, 801, - 405, 691, 405, 801, 355, 355, 355, 355, 458, 405, - 496, 458, 416, 416, 405, 416, 405, 356, 356, 356, - 356, 496, 353, 411, 411, 459, 411, 1402, 459, 353, - 353, 355, 691, 353, 353, 417, 353, 1108, 355, 355, - 353, 416, 355, 355, 356, 355, 693, 413, 413, 355, - 413, 356, 356, 416, 663, 356, 356, 411, 356, 695, - 353, 417, 356, 965, 417, 965, 411, 1136, 417, 355, - - 447, 447, 732, 447, 413, 405, 695, 693, 417, 447, - 431, 449, 356, 405, 449, 732, 449, 802, 413, 460, - 413, 1135, 460, 696, 418, 802, 413, 431, 431, 431, - 431, 431, 431, 431, 431, 461, 462, 427, 461, 462, - 737, 737, 353, 353, 353, 1099, 353, 1401, 353, 353, - 418, 355, 355, 355, 696, 355, 418, 355, 355, 463, - 464, 418, 463, 464, 356, 356, 356, 418, 356, 427, - 356, 356, 434, 418, 465, 983, 434, 465, 434, 434, - 427, 939, 466, 1136, 434, 466, 427, 418, 467, 434, - 470, 467, 434, 470, 468, 939, 471, 468, 418, 471, - - 427, 763, 446, 472, 418, 421, 472, 474, 427, 1400, - 474, 427, 468, 1135, 446, 748, 446, 427, 446, 446, - 446, 446, 446, 446, 446, 446, 446, 983, 748, 1099, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 421, 421, 421, 421, - 421, 421, 421, 421, 421, 421, 442, 476, 479, 468, - 476, 479, 753, 753, 442, 442, 442, 442, 501, 763, - 763, 501, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 442, 442, - 442, 442, 442, 442, 442, 442, 442, 442, 443, 443, + 23, 23, 45, 45, 45, 45, 136, 122, 135, 136, + 358, 122, 113, 52, 122, 130, 52, 45, 130, 113, + 53, 53, 53, 53, 113, 83, 113, 52, 83, 53, + 53, 84, 84, 84, 84, 138, 53, 423, 138, 83, + 83, 358, 1601, 148, 138, 97, 148, 739, 97, 739, + 135, 122, 148, 246, 1123, 45, 51, 51, 51, 51, + + 51, 51, 51, 51, 51, 51, 52, 51, 130, 150, + 51, 51, 51, 53, 163, 84, 247, 163, 83, 161, + 161, 161, 161, 150, 84, 113, 84, 97, 109, 109, + 109, 109, 51, 113, 164, 440, 97, 164, 151, 151, + 151, 151, 109, 109, 1103, 246, 165, 51, 51, 165, + 423, 51, 51, 51, 51, 51, 51, 51, 97, 51, + 1115, 166, 51, 51, 166, 51, 51, 51, 247, 51, + 51, 51, 51, 51, 51, 51, 107, 51, 51, 51, + 1123, 109, 150, 107, 110, 110, 110, 110, 107, 1512, + 150, 151, 107, 107, 107, 167, 107, 315, 167, 110, + + 115, 115, 115, 115, 116, 116, 116, 116, 315, 168, + 440, 107, 168, 116, 116, 115, 219, 219, 169, 116, + 116, 169, 370, 370, 107, 117, 117, 117, 117, 222, + 222, 219, 123, 123, 123, 123, 176, 110, 1103, 176, + 117, 123, 123, 177, 222, 1115, 177, 123, 123, 398, + 398, 235, 149, 115, 235, 149, 493, 116, 132, 132, + 132, 132, 132, 132, 132, 132, 149, 1126, 193, 134, + 155, 193, 155, 134, 155, 134, 134, 155, 117, 121, + 121, 134, 121, 193, 238, 123, 134, 238, 259, 134, + 162, 259, 147, 162, 147, 121, 147, 147, 147, 147, + + 147, 147, 147, 147, 147, 149, 121, 360, 162, 162, + 162, 162, 121, 121, 155, 361, 121, 259, 121, 1490, + 121, 193, 121, 121, 121, 416, 121, 263, 121, 259, + 263, 493, 121, 190, 190, 190, 190, 121, 360, 121, + 621, 121, 154, 154, 121, 154, 361, 154, 621, 121, + 152, 152, 152, 152, 121, 154, 154, 404, 189, 152, + 152, 189, 154, 268, 268, 268, 152, 156, 156, 156, + 156, 404, 189, 189, 157, 1126, 156, 156, 157, 196, + 157, 157, 203, 156, 416, 203, 157, 191, 191, 191, + 191, 157, 420, 416, 157, 194, 194, 194, 194, 196, + + 408, 239, 191, 152, 239, 199, 199, 199, 199, 239, + 196, 189, 200, 200, 200, 200, 201, 201, 201, 201, + 156, 206, 206, 206, 206, 209, 209, 209, 209, 229, + 196, 216, 229, 251, 251, 203, 251, 226, 226, 194, + 207, 207, 207, 207, 230, 226, 580, 230, 194, 199, + 194, 221, 226, 221, 273, 495, 580, 273, 199, 216, + 199, 420, 221, 229, 221, 276, 221, 207, 276, 413, + 216, 230, 229, 221, 207, 207, 216, 233, 207, 207, + 237, 207, 408, 233, 424, 207, 254, 230, 233, 254, + 216, 237, 407, 230, 233, 260, 407, 237, 260, 221, + + 233, 216, 260, 307, 307, 207, 307, 216, 1481, 413, + 290, 237, 260, 290, 233, 240, 240, 240, 240, 290, + 254, 321, 237, 322, 321, 233, 322, 495, 237, 254, + 240, 233, 241, 241, 241, 241, 242, 242, 242, 242, + 244, 244, 244, 244, 424, 302, 415, 241, 302, 256, + 323, 242, 256, 323, 302, 244, 307, 496, 1124, 207, + 207, 207, 207, 756, 207, 756, 207, 207, 240, 245, + 245, 245, 245, 546, 546, 324, 256, 261, 324, 304, + 304, 304, 304, 261, 245, 241, 415, 446, 261, 242, + 256, 446, 256, 244, 261, 545, 270, 533, 256, 312, + + 261, 325, 312, 326, 325, 327, 326, 270, 327, 328, + 427, 769, 328, 270, 261, 329, 330, 331, 329, 330, + 331, 632, 245, 249, 249, 261, 249, 270, 533, 632, + 498, 261, 304, 312, 332, 270, 496, 332, 270, 249, + 333, 1434, 312, 333, 270, 340, 340, 340, 340, 545, + 249, 341, 341, 341, 341, 628, 249, 249, 342, 628, + 249, 342, 249, 1433, 249, 697, 249, 249, 249, 1124, + 249, 427, 249, 342, 312, 344, 249, 389, 344, 312, + 389, 249, 697, 249, 390, 249, 391, 390, 249, 391, + 344, 769, 499, 249, 345, 345, 345, 345, 249, 250, + + 250, 250, 250, 250, 250, 250, 250, 250, 250, 498, + 250, 342, 347, 250, 250, 250, 300, 300, 300, 300, + 300, 300, 300, 300, 300, 890, 392, 393, 344, 392, + 393, 394, 347, 395, 394, 250, 395, 770, 345, 351, + 351, 351, 351, 347, 425, 396, 1093, 345, 396, 345, + 397, 250, 665, 397, 250, 250, 250, 250, 250, 250, + 250, 451, 250, 347, 451, 250, 250, 1093, 250, 250, + 250, 499, 250, 250, 250, 250, 250, 250, 250, 890, + 250, 250, 250, 309, 309, 913, 309, 379, 379, 379, + 379, 806, 379, 409, 409, 806, 409, 410, 410, 309, + + 410, 770, 536, 402, 402, 402, 402, 362, 425, 309, + 309, 362, 309, 1182, 309, 362, 309, 309, 402, 425, + 309, 362, 309, 309, 309, 421, 309, 309, 309, 309, + 309, 665, 309, 536, 437, 437, 309, 437, 362, 913, + 538, 309, 362, 309, 426, 309, 362, 452, 309, 871, + 452, 871, 362, 309, 430, 430, 402, 430, 309, 310, + 310, 310, 310, 310, 310, 310, 310, 310, 310, 453, + 310, 538, 453, 310, 310, 310, 1151, 539, 403, 403, + 403, 403, 421, 612, 612, 421, 405, 405, 405, 405, + 497, 439, 439, 403, 439, 310, 540, 672, 672, 362, + + 439, 405, 741, 741, 426, 426, 426, 430, 539, 454, + 455, 310, 454, 455, 310, 310, 310, 310, 310, 310, + 310, 456, 310, 1182, 456, 310, 310, 540, 310, 310, + 310, 403, 310, 310, 310, 310, 310, 310, 310, 405, + 310, 310, 310, 353, 353, 353, 353, 1164, 406, 693, + 406, 1164, 355, 355, 355, 355, 457, 406, 497, 457, + 417, 417, 406, 417, 406, 356, 356, 356, 356, 497, + 353, 412, 412, 458, 412, 1151, 458, 353, 353, 355, + 693, 353, 353, 418, 353, 1120, 355, 355, 353, 417, + 355, 355, 356, 355, 735, 414, 414, 355, 414, 356, + + 356, 417, 695, 356, 356, 412, 356, 735, 353, 418, + 356, 752, 418, 975, 412, 975, 418, 355, 448, 448, + 1094, 448, 414, 406, 752, 459, 418, 448, 459, 450, + 356, 406, 450, 695, 450, 432, 414, 460, 414, 461, + 460, 994, 461, 462, 414, 463, 462, 1432, 463, 698, + 428, 419, 432, 432, 432, 432, 432, 432, 432, 432, + 758, 758, 353, 353, 353, 353, 699, 353, 867, 353, + 353, 355, 355, 355, 355, 948, 355, 419, 355, 355, + 698, 867, 428, 419, 356, 356, 356, 356, 419, 356, + 948, 356, 356, 428, 419, 994, 701, 699, 435, 428, + + 419, 1120, 435, 464, 435, 435, 464, 1431, 465, 466, + 435, 465, 466, 428, 419, 435, 467, 468, 435, 467, + 468, 428, 447, 471, 428, 419, 471, 701, 768, 803, + 428, 419, 422, 1094, 447, 1156, 447, 803, 447, 447, + 447, 447, 447, 447, 447, 447, 447, 472, 473, 475, + 472, 473, 475, 477, 849, 849, 477, 422, 422, 422, + 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, + 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, + 422, 422, 422, 443, 480, 502, 504, 480, 502, 504, + 1430, 443, 443, 443, 443, 505, 768, 768, 505, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, - 443, 443, 443, 443, 503, 504, 1109, 503, 504, 443, - 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, - 443, 443, 443, 443, 443, 443, 443, 443, 443, 443, - 443, 443, 443, 443, 443, 444, 505, 506, 507, 505, - 506, 507, 508, 510, 511, 508, 510, 511, 697, 1083, - 699, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 443, 443, 443, 443, 443, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 493, 493, 697, - - 493, 699, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, - 444, 444, 444, 444, 444, 444, 444, 444, 491, 499, - 491, 493, 1109, 499, 512, 499, 499, 512, 576, 513, - 493, 499, 513, 701, 491, 514, 499, 518, 514, 499, - 518, 519, 522, 534, 519, 522, 523, 523, 523, 523, - 526, 571, 575, 526, 571, 575, 518, 522, 844, 703, - 635, 523, 493, 635, 701, 636, 534, 493, 636, 1083, - 529, 529, 529, 529, 534, 579, 579, 844, 579, 531, - 531, 531, 531, 637, 580, 580, 637, 580, 576, 580, - - 703, 576, 1107, 491, 1105, 522, 576, 529, 1399, 638, - 536, 491, 638, 526, 529, 529, 531, 540, 529, 529, - 705, 529, 536, 531, 531, 529, 1082, 531, 531, 540, - 531, 536, 725, 639, 531, 536, 639, 541, 540, 534, - 541, 536, 540, 581, 581, 529, 581, 642, 540, 1078, - 642, 705, 541, 536, 531, 582, 582, 541, 582, 1398, - 540, 1156, 536, 725, 583, 583, 536, 583, 995, 540, - 1078, 584, 584, 540, 584, 585, 585, 1140, 585, 586, - 586, 700, 586, 587, 587, 995, 587, 588, 588, 1131, - 588, 589, 589, 643, 589, 700, 643, 529, 529, 529, - - 1126, 529, 645, 529, 529, 645, 531, 531, 531, 727, - 531, 1107, 531, 531, 558, 558, 558, 558, 1105, 558, - 590, 590, 1131, 590, 591, 591, 700, 591, 592, 592, - 1082, 592, 593, 593, 1126, 593, 594, 594, 1397, 594, - 727, 558, 595, 595, 646, 595, 1156, 646, 558, 558, - 861, 647, 558, 558, 647, 558, 1138, 596, 596, 558, - 596, 597, 597, 861, 597, 598, 598, 558, 598, 599, - 599, 1132, 599, 601, 601, 1396, 601, 602, 602, 558, - 602, 603, 603, 627, 603, 605, 605, 599, 605, 618, - 618, 648, 618, 651, 648, 1140, 651, 728, 618, 627, - - 627, 627, 627, 627, 627, 627, 627, 627, 629, 629, - 652, 629, 654, 652, 1139, 654, 655, 629, 656, 655, - 741, 656, 662, 662, 743, 662, 664, 664, 728, 664, - 961, 558, 558, 558, 599, 558, 1079, 558, 558, 559, - 559, 559, 559, 961, 559, 665, 665, 1395, 665, 666, - 666, 741, 666, 667, 667, 743, 667, 668, 668, 1098, - 668, 669, 669, 1394, 669, 673, 559, 674, 673, 675, - 674, 1138, 675, 559, 559, 1132, 676, 559, 559, 676, - 559, 1393, 677, 678, 559, 677, 678, 679, 680, 744, - 679, 680, 559, 682, 684, 685, 682, 684, 685, 686, - - 687, 1098, 686, 687, 559, 688, 688, 688, 688, 689, - 689, 689, 689, 692, 692, 692, 692, 698, 827, 1392, - 744, 698, 702, 702, 702, 702, 767, 767, 831, 767, - 698, 772, 772, 1139, 772, 773, 773, 1026, 773, 774, - 774, 834, 774, 775, 775, 835, 775, 1079, 698, 827, - 776, 776, 698, 776, 1026, 837, 559, 559, 559, 831, - 559, 698, 559, 559, 621, 714, 779, 779, 714, 779, - 780, 780, 834, 780, 782, 782, 835, 782, 783, 783, - 1391, 783, 784, 784, 820, 784, 837, 820, 1155, 621, - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - - 621, 621, 621, 621, 621, 621, 621, 621, 621, 621, - 621, 621, 621, 621, 621, 624, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 785, 785, 1390, 785, 1155, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 704, 704, 704, 704, 788, 788, 854, 788, - 789, 789, 821, 789, 729, 821, 714, 714, 729, 1087, - 791, 791, 729, 791, 794, 794, 856, 794, 729, 704, - - 724, 1146, 704, 811, 811, 1146, 811, 724, 724, 854, - 822, 724, 724, 822, 724, 729, 1389, 823, 724, 729, - 823, 812, 812, 729, 812, 824, 724, 856, 824, 729, - 704, 843, 843, 704, 723, 723, 723, 723, 724, 723, - 740, 813, 813, 825, 813, 857, 825, 740, 740, 869, - 829, 740, 740, 829, 740, 1100, 814, 814, 740, 814, - 1100, 723, 815, 815, 1133, 815, 740, 872, 723, 723, - 845, 845, 723, 723, 729, 723, 857, 1385, 740, 723, - 869, 745, 1087, 816, 816, 745, 816, 723, 874, 745, - 724, 724, 724, 1169, 724, 745, 724, 724, 872, 723, - - 817, 817, 871, 817, 818, 818, 1169, 818, 828, 828, - 828, 828, 745, 866, 866, 875, 745, 876, 891, 874, - 745, 836, 836, 836, 836, 871, 745, 884, 884, 1384, - 740, 740, 740, 871, 740, 894, 740, 740, 873, 896, - 1113, 878, 897, 898, 878, 1113, 875, 1133, 876, 891, - 873, 723, 723, 723, 932, 723, 878, 723, 723, 873, - 836, 878, 900, 873, 893, 900, 894, 906, 906, 873, - 896, 745, 799, 897, 898, 914, 914, 900, 914, 940, - 940, 873, 900, 915, 915, 932, 915, 893, 871, 929, - 873, 836, 929, 930, 873, 893, 930, 799, 799, 799, - - 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 799, 799, 799, 799, 799, 799, 799, 799, - 799, 799, 799, 800, 800, 800, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 933, - 893, 1383, 933, 1382, 800, 800, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 800, 800, 800, 800, 800, 800, 800, 800, 800, 800, - 852, 852, 852, 852, 853, 852, 1085, 923, 923, 858, - 923, 853, 853, 858, 1369, 853, 853, 858, 853, 1102, - - 934, 935, 853, 858, 936, 877, 1125, 852, 927, 927, - 853, 927, 942, 942, 852, 852, 954, 877, 852, 852, - 858, 852, 853, 956, 858, 852, 877, 1125, 858, 1368, - 877, 934, 935, 852, 858, 936, 877, 928, 928, 1158, - 928, 938, 938, 938, 938, 852, 957, 954, 877, 966, - 966, 1367, 969, 1147, 956, 984, 984, 877, 882, 1102, - 882, 877, 882, 882, 882, 882, 882, 882, 882, 882, - 882, 972, 1085, 1085, 853, 853, 853, 957, 853, 858, - 853, 853, 904, 969, 904, 1366, 904, 904, 904, 904, - 904, 904, 904, 904, 904, 1147, 1225, 852, 852, 852, - - 1359, 852, 972, 852, 852, 881, 1054, 1054, 1157, 1054, - 1225, 1102, 1154, 881, 881, 881, 881, 1358, 974, 975, - 976, 881, 881, 881, 881, 881, 881, 881, 881, 881, - 881, 881, 881, 881, 881, 881, 881, 881, 881, 881, - 881, 881, 881, 881, 881, 881, 881, 895, 899, 974, - 975, 976, 991, 1158, 1168, 993, 996, 1168, 1018, 895, - 899, 1018, 971, 953, 997, 999, 1000, 1357, 895, 899, - 953, 953, 895, 899, 953, 953, 1356, 953, 895, 899, - 1000, 953, 1154, 991, 958, 971, 993, 996, 958, 953, - 895, 899, 958, 971, 978, 997, 999, 978, 958, 895, - - 899, 953, 1001, 895, 899, 952, 952, 952, 952, 978, - 952, 1000, 1157, 992, 978, 958, 992, 1152, 992, 958, - 1346, 1049, 1002, 958, 1049, 1002, 1186, 1002, 1103, 958, - 1003, 1005, 952, 1001, 998, 1344, 1022, 1024, 998, 952, - 952, 1152, 1084, 952, 952, 1186, 952, 998, 971, 1343, - 952, 973, 977, 953, 953, 953, 1340, 953, 952, 953, - 953, 1003, 1005, 973, 977, 998, 992, 1022, 1024, 998, - 952, 1027, 973, 977, 958, 1002, 973, 977, 998, 1018, - 1018, 1028, 973, 977, 1010, 1010, 1010, 1010, 1010, 1010, - 1010, 1010, 1010, 1339, 973, 977, 1030, 1058, 1058, 1058, - - 1058, 1032, 1027, 973, 977, 1326, 1034, 973, 977, 982, - 1325, 982, 1028, 982, 982, 982, 982, 982, 982, 982, - 982, 982, 952, 952, 952, 1164, 952, 1030, 952, 952, - 981, 1023, 1032, 1084, 1023, 1084, 1023, 1034, 981, 981, - 981, 981, 1049, 1049, 1103, 1103, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 981, 981, 981, 981, 981, 981, 981, 981, - 981, 981, 1004, 1031, 1009, 1004, 1029, 1004, 1185, 1185, - 1029, 1009, 1009, 1011, 1023, 1009, 1009, 1031, 1009, 1029, - 1011, 1011, 1009, 1036, 1011, 1011, 1056, 1011, 1075, 1004, - - 1009, 1011, 1004, 1059, 1059, 1059, 1059, 1029, 1324, 1011, - 1033, 1029, 1009, 1033, 1111, 1033, 1323, 1111, 1031, 1111, - 1029, 1011, 1317, 1114, 1036, 1004, 1088, 1056, 1187, 1187, - 1004, 1075, 1164, 1004, 1008, 1008, 1008, 1008, 1008, 1008, - 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, - 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, 1008, - 1094, 1122, 1075, 1033, 1009, 1009, 1009, 1111, 1009, 1073, - 1009, 1009, 1088, 1011, 1011, 1011, 1076, 1011, 1035, 1011, - 1011, 1035, 1159, 1035, 1040, 1063, 1063, 1063, 1063, 1165, - 1122, 1040, 1040, 1094, 1073, 1040, 1040, 1316, 1040, 1315, - - 1080, 1076, 1040, 1088, 1097, 1035, 1114, 1305, 1035, 1093, - 1040, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, 1041, - 1304, 1122, 1040, 1114, 1094, 1073, 1042, 1064, 1064, 1064, - 1064, 1035, 1076, 1042, 1042, 1091, 1035, 1042, 1042, 1035, - 1042, 1090, 1077, 1141, 1042, 1065, 1065, 1065, 1065, 1303, - 1095, 1093, 1042, 1067, 1067, 1067, 1067, 1080, 1195, 1213, - 1302, 1195, 1213, 1077, 1042, 1110, 1090, 1077, 1116, 1091, - 1080, 1077, 1141, 1112, 1040, 1040, 1040, 1077, 1040, 1118, - 1040, 1040, 1093, 1095, 1097, 1301, 1165, 1097, 1121, 1090, - 1110, 1121, 1160, 1121, 1077, 1115, 1159, 1090, 1077, 1097, - - 1091, 1116, 1077, 1141, 1097, 1120, 1072, 1112, 1077, 1298, - 1124, 1296, 1148, 1118, 1095, 1295, 1042, 1042, 1042, 1293, - 1042, 1110, 1042, 1042, 1071, 1071, 1071, 1071, 1072, 1071, - 1115, 1119, 1116, 1148, 1092, 1072, 1072, 1279, 1112, 1072, - 1072, 1121, 1072, 1144, 1118, 1276, 1072, 1117, 1120, 1145, - 1096, 1071, 1090, 1077, 1072, 1092, 1124, 1149, 1071, 1071, - 1119, 1115, 1071, 1071, 1148, 1071, 1072, 1092, 1117, 1071, - 1137, 1096, 1117, 1137, 1119, 1137, 1092, 1071, 1275, 1120, - 1092, 1117, 1274, 1096, 1145, 1142, 1092, 1124, 1142, 1071, - 1142, 1161, 1096, 1271, 1215, 1149, 1096, 1215, 1092, 1117, - - 1144, 1143, 1096, 1117, 1143, 1119, 1143, 1092, 1160, 1160, - 1270, 1092, 1117, 1144, 1096, 1145, 1129, 1269, 1072, 1072, - 1072, 1268, 1072, 1096, 1072, 1072, 1149, 1096, 1129, 1129, - 1129, 1129, 1129, 1129, 1129, 1129, 1129, 1166, 1265, 1170, - 1151, 1071, 1071, 1071, 1101, 1071, 1123, 1071, 1071, 1123, - 1128, 1123, 1101, 1162, 1101, 1261, 1101, 1101, 1101, 1101, - 1101, 1101, 1101, 1101, 1101, 1151, 1150, 1260, 1166, 1150, - 1170, 1150, 1128, 1123, 1161, 1173, 1123, 1174, 1259, 1128, - 1128, 1176, 1193, 1128, 1128, 1252, 1128, 1130, 1226, 1226, - 1128, 1137, 1137, 1161, 1214, 1218, 1151, 1167, 1128, 1123, - - 1167, 1219, 1167, 1220, 1123, 1150, 1173, 1123, 1174, 1130, - 1128, 1246, 1176, 1193, 1228, 1228, 1130, 1130, 1237, 1150, - 1130, 1130, 1245, 1130, 1153, 1214, 1218, 1130, 1175, 1153, - 1247, 1175, 1219, 1175, 1220, 1130, 1150, 1153, 1153, 1153, - 1153, 1197, 1197, 1197, 1197, 1241, 1240, 1130, 1267, 1237, - 1239, 1162, 1162, 1198, 1198, 1198, 1198, 1199, 1199, 1199, - 1199, 1247, 1128, 1128, 1128, 1238, 1128, 1175, 1128, 1128, - 1200, 1200, 1200, 1200, 1201, 1201, 1201, 1201, 1234, 1267, - 1233, 1175, 1202, 1202, 1202, 1202, 1203, 1203, 1203, 1203, - 1204, 1204, 1204, 1204, 1205, 1205, 1205, 1205, 1175, 1130, - - 1130, 1130, 1232, 1130, 1212, 1130, 1130, 1206, 1206, 1206, - 1206, 1212, 1212, 1272, 1224, 1212, 1212, 1224, 1212, 1224, - 1231, 1230, 1212, 1242, 1242, 1242, 1242, 1217, 1229, 1217, - 1212, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, 1217, - 1227, 1222, 1212, 1222, 1272, 1222, 1222, 1222, 1222, 1222, - 1222, 1222, 1222, 1222, 1243, 1243, 1243, 1243, 1244, 1244, - 1244, 1244, 1278, 1249, 1223, 1278, 1249, 1224, 1249, 1250, - 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1250, 1251, 1221, - 1216, 1251, 1208, 1251, 1253, 1253, 1253, 1253, 1253, 1253, - 1253, 1253, 1253, 1207, 1212, 1212, 1212, 1254, 1212, 1294, - - 1212, 1212, 1196, 1194, 1254, 1254, 1256, 1257, 1254, 1254, - 1257, 1254, 1257, 1256, 1256, 1254, 1249, 1256, 1256, 1191, - 1256, 1190, 1258, 1262, 1256, 1258, 1262, 1258, 1262, 1263, - 1294, 1251, 1263, 1264, 1263, 1254, 1264, 1266, 1264, 1273, - 1266, 1189, 1266, 1277, 1256, 1188, 1299, 1273, 1273, 1273, - 1273, 1277, 1277, 1277, 1277, 1184, 1280, 1183, 1182, 1280, - 1257, 1280, 1281, 1282, 1318, 1281, 1282, 1281, 1282, 1283, - 1181, 1180, 1283, 1179, 1283, 1258, 1262, 1299, 1284, 1178, - 1341, 1284, 1263, 1284, 1177, 1172, 1264, 1254, 1254, 1254, - 1266, 1254, 1171, 1254, 1254, 1318, 1256, 1256, 1256, 1127, - - 1256, 1285, 1256, 1256, 1285, 1286, 1285, 1070, 1286, 1280, - 1286, 1341, 1069, 1068, 1287, 1281, 1282, 1287, 1288, 1287, - 1066, 1288, 1283, 1288, 1289, 1290, 1062, 1289, 1290, 1289, - 1290, 1284, 1291, 1292, 1061, 1291, 1292, 1291, 1292, 1060, - 1284, 1297, 1297, 1297, 1297, 1320, 1322, 1057, 1320, 1322, - 1320, 1322, 1306, 1284, 1285, 1306, 1052, 1306, 1286, 1051, - 1309, 1050, 1048, 1309, 1047, 1309, 1046, 1287, 1045, 1312, - 1328, 1288, 1312, 1328, 1312, 1328, 1044, 1289, 1290, 1330, - 1288, 1043, 1330, 1038, 1330, 1291, 1292, 1037, 1025, 1021, - 1020, 1019, 1300, 1288, 1300, 1292, 1300, 1300, 1300, 1300, - - 1300, 1300, 1300, 1300, 1300, 1306, 1017, 1016, 1292, 1307, - 1015, 1014, 1307, 1309, 1307, 1332, 1013, 1012, 1332, 1307, - 1332, 1007, 1312, 1328, 1006, 994, 990, 1307, 1307, 1307, - 1307, 989, 1330, 988, 987, 1307, 1307, 1307, 1307, 1307, - 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, - 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, 1307, - 1307, 1308, 1307, 986, 1308, 985, 1308, 980, 1332, 979, - 1334, 970, 968, 1334, 1308, 1334, 1308, 967, 1308, 1308, - 1308, 1308, 1308, 1308, 1308, 1308, 1308, 1311, 1342, 964, - 1311, 963, 1311, 962, 960, 959, 1342, 1342, 1342, 1342, - - 1311, 955, 1311, 949, 1311, 1311, 1311, 1311, 1311, 1311, - 1311, 1311, 1311, 948, 1308, 1310, 947, 946, 1310, 945, - 1310, 944, 943, 1334, 1336, 1310, 941, 1336, 937, 1336, - 926, 925, 924, 1310, 1310, 1310, 1310, 912, 911, 910, - 1311, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, - 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, 1310, - 1310, 1310, 1310, 1310, 1310, 1310, 1310, 909, 1310, 1313, - 1338, 908, 1313, 1338, 1313, 1338, 907, 1336, 1345, 1313, - 903, 1345, 902, 1345, 901, 892, 890, 1313, 1313, 1313, - 1313, 889, 888, 887, 886, 1313, 1313, 1313, 1313, 1313, - - 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, - 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, 1313, - 1313, 1314, 1313, 1338, 1314, 885, 1314, 880, 879, 870, - 868, 1345, 1371, 867, 1314, 1371, 1314, 1371, 1314, 1314, - 1314, 1314, 1314, 1314, 1314, 1314, 1314, 1319, 1319, 1319, - 1319, 1319, 1319, 1319, 1319, 1319, 1347, 864, 863, 862, - 1350, 860, 859, 855, 1347, 1347, 1347, 1347, 1350, 1350, - 1350, 1350, 849, 1353, 1314, 1327, 848, 847, 1327, 846, - 1327, 1353, 1353, 1353, 1353, 1371, 1386, 1373, 842, 841, - 1373, 840, 1373, 839, 1386, 1386, 1386, 1386, 838, 833, - - 832, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, - 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1327, - 1327, 1327, 1327, 1327, 1327, 1327, 1327, 1329, 1327, 830, - 1329, 819, 1329, 796, 795, 793, 1333, 792, 768, 1333, - 1373, 1333, 755, 754, 1329, 1329, 1329, 1329, 1329, 1329, - 1329, 1329, 1329, 1333, 1333, 1333, 1333, 1333, 1333, 1333, - 1333, 1333, 1387, 751, 750, 749, 1388, 747, 746, 742, - 1387, 1387, 1387, 1387, 1388, 1388, 1388, 1388, 739, 738, - 1329, 1331, 735, 734, 1331, 733, 1331, 731, 730, 1333, - 1375, 726, 718, 1375, 1377, 1375, 717, 1377, 1379, 1377, - - 716, 1379, 715, 1379, 713, 712, 711, 1331, 1331, 1331, - 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, - 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, 1331, - 1331, 1331, 1331, 710, 1331, 1335, 709, 708, 1335, 707, - 1335, 1348, 706, 1375, 1348, 694, 1348, 1377, 683, 681, - 672, 1379, 671, 658, 628, 625, 623, 622, 620, 616, - 615, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, - 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1335, - 1335, 1335, 1335, 1335, 1335, 1335, 1335, 1337, 1335, 614, - 1337, 613, 1337, 1349, 1348, 612, 1349, 1351, 1349, 611, - - 1351, 609, 1351, 1348, 1337, 1337, 1337, 1337, 1337, 1337, - 1337, 1337, 1337, 607, 1352, 561, 1348, 1352, 1354, 1352, - 560, 1354, 1355, 1354, 557, 1355, 1381, 1355, 556, 1381, - 555, 1381, 554, 552, 551, 550, 549, 548, 547, 546, - 1337, 543, 542, 533, 530, 524, 1349, 520, 517, 516, - 1351, 515, 502, 500, 490, 1349, 489, 488, 485, 1351, - 484, 441, 440, 437, 435, 433, 432, 1352, 1349, 428, - 410, 1354, 1351, 400, 399, 1355, 1352, 398, 386, 1381, - 1354, 384, 383, 1360, 1355, 382, 1360, 381, 1360, 1352, - 380, 379, 377, 1354, 376, 375, 1360, 1355, 1360, 374, - - 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 1360, 372, - 371, 370, 367, 366, 365, 364, 363, 359, 357, 354, - 349, 348, 346, 339, 338, 337, 336, 335, 334, 320, - 319, 317, 316, 314, 313, 311, 1360, 1361, 308, 306, - 286, 285, 284, 283, 282, 1361, 1361, 1361, 1361, 280, - 275, 272, 269, 1361, 1361, 1361, 1361, 1361, 1361, 1361, + 444, 506, 507, 1156, 506, 507, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 444, 445, 508, 509, 511, 508, 509, 511, 512, + 513, 514, 512, 513, 514, 703, 851, 851, 445, 445, + + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 515, 520, 703, 515, 520, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 445, 445, 445, 445, 445, + 445, 445, 445, 445, 445, 469, 1429, 519, 469, 492, + 519, 492, 1007, 494, 494, 500, 494, 573, 535, 500, + 573, 500, 500, 469, 1097, 492, 519, 500, 523, 1007, + 527, 523, 500, 527, 537, 500, 524, 524, 524, 524, + 1102, 535, 577, 523, 702, 577, 537, 494, 542, 535, + + 1039, 524, 542, 578, 637, 537, 494, 637, 702, 537, + 530, 530, 530, 530, 542, 537, 705, 1039, 638, 542, + 469, 638, 850, 532, 532, 532, 532, 537, 707, 581, + 581, 523, 581, 527, 492, 1174, 537, 530, 494, 702, + 537, 850, 492, 494, 530, 530, 807, 705, 530, 530, + 532, 530, 1428, 541, 807, 530, 535, 532, 532, 707, + 971, 532, 532, 578, 532, 541, 578, 1121, 532, 583, + 583, 578, 583, 971, 541, 530, 582, 582, 541, 582, + 1097, 582, 584, 584, 541, 584, 585, 585, 532, 585, + 586, 586, 1102, 586, 587, 587, 541, 587, 588, 588, + + 1098, 588, 728, 589, 589, 541, 589, 590, 590, 541, + 590, 591, 591, 1114, 591, 592, 592, 730, 592, 593, + 593, 1174, 593, 594, 594, 639, 594, 1118, 639, 530, + 530, 530, 530, 728, 530, 1100, 530, 530, 595, 595, + 731, 595, 532, 532, 532, 532, 745, 532, 730, 532, + 532, 560, 560, 560, 560, 1114, 560, 596, 596, 1122, + 596, 597, 597, 747, 597, 598, 598, 1148, 598, 599, + 599, 731, 599, 600, 600, 1099, 600, 745, 560, 601, + 601, 640, 601, 1121, 640, 560, 560, 1118, 641, 560, + 560, 641, 560, 1149, 747, 1105, 560, 601, 603, 603, + + 1148, 603, 604, 604, 560, 604, 605, 605, 629, 605, + 607, 607, 1098, 607, 620, 620, 560, 620, 644, 645, + 1105, 644, 645, 620, 629, 629, 629, 629, 629, 629, + 629, 629, 629, 631, 631, 647, 631, 648, 647, 1100, + 648, 1118, 631, 649, 601, 650, 649, 653, 650, 654, + 653, 656, 654, 657, 656, 658, 657, 1143, 658, 664, + 664, 1122, 664, 666, 666, 675, 666, 1099, 675, 1099, + 560, 560, 560, 560, 1142, 560, 1175, 560, 560, 561, + 561, 561, 561, 1427, 561, 667, 667, 1170, 667, 668, + 668, 1143, 668, 669, 669, 1142, 669, 670, 670, 1149, + + 670, 671, 671, 1176, 671, 676, 561, 677, 676, 678, + 677, 1170, 678, 561, 561, 1125, 679, 561, 561, 679, + 561, 1173, 680, 681, 561, 680, 681, 682, 684, 748, + 682, 684, 561, 686, 687, 688, 686, 687, 688, 689, + 772, 772, 689, 772, 561, 690, 690, 690, 690, 691, + 691, 691, 691, 694, 694, 694, 694, 832, 700, 836, + 748, 1426, 700, 704, 704, 704, 704, 777, 777, 1116, + 777, 700, 778, 778, 1116, 778, 779, 779, 1173, 779, + 780, 780, 1175, 780, 781, 781, 1425, 781, 832, 700, + 836, 784, 784, 700, 784, 873, 873, 1125, 561, 561, + + 561, 561, 700, 561, 1150, 561, 561, 623, 717, 785, + 785, 717, 785, 787, 787, 1424, 787, 788, 788, 1176, + 788, 789, 789, 1423, 789, 790, 790, 825, 790, 1422, + 825, 1157, 623, 623, 623, 623, 623, 623, 623, 623, + 623, 623, 623, 623, 623, 623, 623, 623, 623, 623, + 623, 623, 623, 623, 623, 623, 623, 623, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 793, 793, 1152, 793, 1150, 626, + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + + 626, 626, 626, 626, 626, 626, 626, 626, 626, 626, + 626, 626, 626, 626, 626, 706, 706, 706, 706, 794, + 794, 826, 794, 1421, 826, 827, 732, 749, 827, 839, + 732, 749, 717, 717, 732, 749, 796, 796, 840, 796, + 732, 749, 706, 799, 799, 706, 799, 816, 816, 1420, + 816, 817, 817, 1157, 817, 706, 727, 732, 749, 1158, + 839, 732, 749, 727, 727, 732, 749, 727, 727, 840, + 727, 732, 749, 706, 727, 842, 706, 818, 818, 1152, + 818, 828, 727, 1419, 828, 860, 706, 726, 726, 726, + 726, 744, 726, 829, 727, 1418, 829, 830, 744, 744, + + 830, 834, 744, 744, 834, 744, 842, 819, 819, 744, + 819, 1417, 820, 820, 726, 820, 860, 744, 732, 749, + 1178, 726, 726, 862, 938, 726, 726, 938, 726, 744, + 821, 821, 726, 821, 822, 822, 863, 822, 823, 823, + 726, 823, 833, 833, 833, 833, 876, 878, 727, 727, + 727, 727, 726, 727, 862, 727, 727, 841, 841, 841, + 841, 879, 881, 882, 883, 891, 891, 863, 899, 1416, + 878, 902, 904, 914, 914, 949, 949, 876, 878, 905, + 1158, 906, 1130, 744, 744, 744, 744, 1130, 744, 941, + 744, 744, 879, 881, 882, 883, 841, 1415, 939, 899, + + 885, 939, 902, 904, 885, 901, 726, 726, 726, 726, + 905, 726, 906, 726, 726, 804, 885, 1177, 908, 1411, + 941, 885, 908, 923, 923, 1178, 923, 841, 901, 924, + 924, 1410, 924, 1184, 908, 878, 901, 952, 952, 908, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 804, 804, 804, 804, + 804, 804, 804, 804, 804, 804, 805, 805, 805, 805, + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + 805, 805, 942, 901, 1409, 942, 1183, 805, 805, 805, + + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + 805, 805, 805, 805, 805, 805, 805, 805, 805, 805, + 805, 805, 805, 858, 858, 858, 858, 859, 858, 932, + 932, 1184, 932, 1177, 859, 859, 977, 977, 859, 859, + 864, 859, 943, 944, 864, 859, 936, 936, 864, 936, + 858, 1408, 945, 859, 864, 964, 966, 858, 858, 995, + 995, 858, 858, 1154, 858, 859, 937, 937, 858, 937, + 967, 864, 1395, 943, 944, 864, 858, 980, 983, 864, + 985, 986, 880, 945, 987, 864, 964, 966, 858, 947, + 947, 947, 947, 1004, 880, 1394, 1004, 1003, 1004, 1393, + + 1005, 967, 1008, 880, 1188, 1183, 982, 880, 980, 983, + 1009, 985, 986, 880, 989, 987, 1392, 1188, 989, 859, + 859, 859, 859, 1011, 859, 880, 859, 859, 1003, 982, + 989, 1005, 864, 1008, 880, 989, 884, 982, 880, 1012, + 1385, 1009, 858, 858, 858, 858, 1004, 858, 884, 858, + 858, 968, 1013, 1012, 1011, 968, 1015, 884, 1017, 968, + 1035, 884, 1153, 1165, 889, 968, 889, 884, 889, 889, + 889, 889, 889, 889, 889, 889, 889, 1037, 1187, 884, + 1154, 1187, 968, 1013, 1012, 1384, 968, 1015, 884, 1017, + 968, 1035, 884, 888, 982, 1031, 968, 1383, 1031, 1205, + + 1205, 888, 888, 888, 888, 1165, 1040, 1382, 1037, 888, + 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, + 888, 888, 888, 888, 888, 888, 888, 888, 888, 888, + 888, 888, 888, 888, 888, 903, 907, 1040, 984, 1041, + 1010, 1042, 1043, 968, 1010, 1042, 1119, 903, 907, 1153, + 984, 1044, 1045, 1010, 1042, 1047, 903, 907, 1049, 984, + 903, 907, 1172, 984, 1372, 1044, 903, 907, 1131, 984, + 1041, 1010, 1042, 1043, 1369, 1010, 1042, 1014, 903, 907, + 1014, 984, 1014, 1045, 1010, 1042, 1047, 903, 907, 1049, + 984, 903, 907, 912, 984, 912, 1044, 912, 912, 912, + + 912, 912, 912, 912, 912, 912, 962, 962, 962, 962, + 963, 962, 1063, 1068, 1068, 1063, 1068, 963, 963, 1031, + 1031, 963, 963, 1070, 963, 988, 1036, 1246, 963, 1036, + 1014, 1036, 1172, 962, 1206, 1132, 963, 988, 1207, 1207, + 962, 962, 1246, 1366, 962, 962, 988, 962, 963, 1365, + 988, 962, 1131, 1206, 1070, 1046, 988, 1352, 1046, 962, + 1046, 1072, 1072, 1072, 1072, 1119, 1119, 1090, 988, 1131, + 1132, 962, 1073, 1073, 1073, 1073, 1351, 988, 993, 1036, + 993, 988, 993, 993, 993, 993, 993, 993, 993, 993, + 993, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, + + 1090, 1132, 963, 963, 963, 963, 1350, 963, 1046, 963, + 963, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, + 1078, 1078, 1078, 1078, 1349, 962, 962, 962, 962, 1343, + 962, 1090, 962, 962, 992, 1137, 1063, 1063, 1079, 1079, + 1079, 1079, 992, 992, 992, 992, 1080, 1080, 1080, 1080, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 992, 992, 992, 992, + 992, 992, 992, 992, 992, 992, 1016, 1107, 1137, 1016, + 1088, 1016, 1021, 1082, 1082, 1082, 1082, 1091, 1127, 1021, + 1021, 1185, 1342, 1021, 1021, 1189, 1021, 1101, 1215, 1160, + + 1021, 1215, 1160, 1016, 1160, 1088, 1016, 1023, 1021, 1137, + 1341, 1107, 1091, 1127, 1023, 1023, 1016, 1331, 1023, 1023, + 1021, 1023, 1185, 1095, 1234, 1023, 1189, 1234, 1179, 1016, + 1247, 1247, 1104, 1023, 1016, 1161, 1088, 1016, 1161, 1330, + 1161, 1162, 1107, 1091, 1127, 1023, 1329, 1016, 1020, 1020, + 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, + 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, 1020, + 1020, 1020, 1020, 1020, 1021, 1021, 1021, 1021, 1104, 1021, + 1095, 1021, 1021, 1048, 1101, 1101, 1048, 1128, 1048, 1328, + 1128, 1109, 1128, 1095, 1113, 1327, 1180, 1326, 1162, 1023, + + 1023, 1023, 1023, 1129, 1023, 1110, 1023, 1023, 1053, 1104, + 1048, 1162, 1111, 1048, 1106, 1053, 1053, 1055, 1133, 1053, + 1053, 1323, 1053, 1048, 1055, 1055, 1053, 1087, 1055, 1055, + 1136, 1055, 1320, 1109, 1053, 1055, 1048, 1129, 1110, 1106, + 1128, 1048, 1318, 1055, 1048, 1111, 1053, 1179, 1179, 1087, + 1135, 1133, 1141, 1304, 1048, 1055, 1087, 1087, 1192, 1136, + 1087, 1087, 1106, 1087, 1109, 1139, 1303, 1087, 1129, 1110, + 1106, 1300, 1134, 1136, 1113, 1087, 1111, 1299, 1113, 1181, + 1180, 1298, 1133, 1138, 1135, 1295, 1138, 1087, 1138, 1192, + 1113, 1250, 1250, 1134, 1139, 1113, 1294, 1134, 1141, 1180, + + 1053, 1053, 1053, 1053, 1136, 1053, 1134, 1053, 1053, 1055, + 1055, 1055, 1055, 1293, 1055, 1135, 1055, 1055, 1086, 1086, + 1086, 1086, 1159, 1086, 1134, 1139, 1163, 1106, 1134, 1141, + 1292, 1167, 1289, 1092, 1108, 1155, 1138, 1134, 1155, 1169, + 1155, 1087, 1087, 1087, 1087, 1086, 1087, 1285, 1087, 1087, + 1193, 1159, 1086, 1086, 1092, 1108, 1086, 1086, 1092, 1086, + 1284, 1163, 1092, 1086, 1169, 1195, 1166, 1108, 1092, 1167, + 1112, 1086, 1186, 1213, 1235, 1186, 1108, 1186, 1181, 1181, + 1108, 1193, 1159, 1086, 1239, 1092, 1108, 1166, 1240, 1092, + 1283, 1112, 1163, 1092, 1236, 1169, 1195, 1236, 1108, 1092, + + 1167, 1282, 1275, 1112, 1213, 1235, 1302, 1108, 1269, 1302, + 1241, 1108, 1112, 1117, 1268, 1239, 1112, 1264, 1166, 1240, + 1263, 1117, 1112, 1117, 1262, 1117, 1117, 1117, 1117, 1117, + 1117, 1117, 1117, 1117, 1112, 1261, 1145, 1086, 1086, 1086, + 1086, 1241, 1086, 1112, 1086, 1086, 1092, 1112, 1140, 1260, + 1256, 1140, 1168, 1140, 1259, 1168, 1270, 1168, 1145, 1155, + 1155, 1218, 1218, 1218, 1218, 1145, 1145, 1255, 1254, 1145, + 1145, 1291, 1145, 1296, 1253, 1140, 1145, 1319, 1140, 1219, + 1219, 1219, 1219, 1252, 1145, 1259, 1251, 1270, 1140, 1324, + 1249, 1168, 1220, 1220, 1220, 1220, 1145, 1248, 1146, 1147, + + 1244, 1140, 1291, 1242, 1296, 1168, 1140, 1344, 1319, 1140, + 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1146, 1140, + 1324, 1147, 1168, 1221, 1221, 1221, 1221, 1237, 1147, 1147, + 1367, 1194, 1147, 1147, 1194, 1147, 1194, 1229, 1344, 1147, + 1222, 1222, 1222, 1222, 1228, 1217, 1216, 1147, 1214, 1171, + 1145, 1145, 1145, 1145, 1171, 1145, 1211, 1145, 1145, 1147, + 1210, 1367, 1171, 1171, 1171, 1171, 1223, 1223, 1223, 1223, + 1194, 1224, 1224, 1224, 1224, 1225, 1225, 1225, 1225, 1226, + 1226, 1226, 1226, 1209, 1194, 1227, 1227, 1227, 1227, 1245, + 1346, 1233, 1245, 1346, 1245, 1346, 1208, 1204, 1233, 1233, + + 1203, 1194, 1233, 1233, 1202, 1233, 1201, 1272, 1200, 1233, + 1272, 1199, 1272, 1147, 1147, 1147, 1147, 1233, 1147, 1198, + 1147, 1147, 1265, 1265, 1265, 1265, 1238, 1197, 1238, 1233, + 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1243, + 1196, 1243, 1245, 1243, 1243, 1243, 1243, 1243, 1243, 1243, + 1243, 1243, 1266, 1266, 1266, 1266, 1267, 1267, 1267, 1267, + 1272, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, 1273, + 1274, 1191, 1190, 1274, 1280, 1274, 1144, 1280, 1085, 1280, + 1084, 1083, 1081, 1233, 1233, 1233, 1233, 1077, 1233, 1076, + 1233, 1233, 1276, 1276, 1276, 1276, 1276, 1276, 1276, 1276, + + 1276, 1277, 1281, 1075, 1074, 1281, 1071, 1281, 1277, 1277, + 1279, 1286, 1277, 1277, 1286, 1277, 1286, 1279, 1279, 1277, + 1066, 1279, 1279, 1274, 1279, 1065, 1287, 1280, 1279, 1287, + 1288, 1287, 1064, 1288, 1062, 1288, 1297, 1290, 1061, 1277, + 1290, 1301, 1290, 1060, 1297, 1297, 1297, 1297, 1279, 1301, + 1301, 1301, 1301, 1305, 1348, 1281, 1305, 1348, 1305, 1348, + 1306, 1059, 1058, 1306, 1286, 1306, 1307, 1308, 1057, 1307, + 1308, 1307, 1308, 1309, 1056, 1051, 1309, 1310, 1309, 1287, + 1310, 1311, 1310, 1288, 1311, 1050, 1311, 1038, 1034, 1033, + 1290, 1032, 1030, 1277, 1277, 1277, 1277, 1029, 1277, 1028, + + 1277, 1277, 1279, 1279, 1279, 1279, 1305, 1279, 1027, 1279, + 1279, 1312, 1313, 1306, 1312, 1313, 1312, 1313, 1314, 1307, + 1308, 1314, 1315, 1314, 1026, 1315, 1309, 1315, 1316, 1025, + 1310, 1316, 1024, 1316, 1311, 1309, 1317, 1019, 1018, 1317, + 1006, 1317, 1321, 1321, 1321, 1321, 1002, 1001, 1309, 1322, + 1322, 1322, 1322, 1000, 999, 1332, 998, 997, 1332, 996, + 1332, 991, 990, 1335, 1312, 1313, 1335, 1338, 1335, 1368, + 1338, 1314, 1338, 981, 1313, 1315, 979, 1368, 1368, 1368, + 1368, 1316, 978, 1354, 976, 974, 1354, 1313, 1354, 1317, + 973, 1356, 972, 970, 1356, 1325, 1356, 1325, 1317, 1325, + + 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1325, 1332, 1334, + 969, 1317, 1334, 965, 1334, 959, 1335, 958, 1358, 957, + 1338, 1358, 1334, 1358, 1334, 956, 1334, 1334, 1334, 1334, + 1334, 1334, 1334, 1334, 1334, 1337, 1354, 955, 1337, 954, + 1337, 953, 951, 950, 1356, 946, 935, 934, 1337, 933, + 1337, 921, 1337, 1337, 1337, 1337, 1337, 1337, 1337, 1337, + 1337, 920, 1334, 1321, 1333, 919, 918, 1333, 917, 1333, + 916, 1358, 1360, 1362, 1333, 1360, 1362, 1360, 1362, 915, + 911, 910, 1333, 1333, 1333, 1333, 909, 900, 1337, 898, + 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, + + 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, 1333, + 1333, 1333, 1333, 1333, 1333, 1333, 897, 1333, 1336, 896, + 895, 1336, 894, 1336, 893, 1360, 1362, 1364, 1336, 892, + 1364, 887, 1364, 886, 877, 875, 1336, 1336, 1336, 1336, + 874, 872, 870, 869, 1336, 1336, 1336, 1336, 1336, 1336, + 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, + 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, 1336, + 868, 1336, 1339, 1370, 866, 1339, 1370, 1339, 1370, 865, + 1364, 1371, 1339, 861, 1371, 855, 1371, 854, 853, 852, + 1339, 1339, 1339, 1339, 848, 847, 846, 845, 1339, 1339, + + 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, + 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, 1339, + 1339, 1339, 1339, 1339, 1340, 1339, 1370, 1340, 844, 1340, + 843, 838, 837, 835, 1371, 1397, 824, 1340, 1397, 1340, + 1397, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, 1340, + 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1345, 1373, + 801, 800, 798, 1376, 797, 773, 760, 1373, 1373, 1373, + 1373, 1376, 1376, 1376, 1376, 759, 1379, 1340, 1353, 757, + 755, 1353, 754, 1353, 1379, 1379, 1379, 1379, 1397, 1412, + 1399, 753, 751, 1399, 1370, 1399, 750, 1412, 1412, 1412, + + 1412, 746, 743, 742, 1353, 1353, 1353, 1353, 1353, 1353, + 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, + 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, 1353, + 1355, 1353, 740, 1355, 738, 1355, 737, 736, 734, 1359, + 733, 729, 1359, 1399, 1359, 721, 720, 1355, 1355, 1355, + 1355, 1355, 1355, 1355, 1355, 1355, 1359, 1359, 1359, 1359, + 1359, 1359, 1359, 1359, 1359, 1413, 719, 718, 716, 1414, + 715, 714, 713, 1413, 1413, 1413, 1413, 1414, 1414, 1414, + 1414, 712, 711, 1355, 1357, 710, 709, 1357, 708, 1357, + 696, 685, 1359, 1401, 683, 674, 1401, 1403, 1401, 673, + + 1403, 1405, 1403, 660, 1405, 630, 1405, 627, 625, 624, + 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, + 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, 1357, + 1357, 1357, 1357, 1357, 1357, 1357, 622, 1357, 1361, 618, + 617, 1361, 616, 1361, 1374, 615, 1401, 1374, 614, 1374, + 1403, 613, 611, 609, 1405, 563, 562, 559, 558, 557, + 556, 554, 553, 552, 1361, 1361, 1361, 1361, 1361, 1361, + 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, - 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1361, 1362, - 266, 265, 1362, 262, 1362, 257, 255, 253, 243, 236, - 234, 231, 1362, 227, 1362, 225, 1362, 1362, 1362, 1362, + 1363, 1361, 551, 1363, 550, 1363, 1375, 1374, 549, 1375, + + 1377, 1375, 548, 1377, 547, 1377, 1374, 1363, 1363, 1363, + 1363, 1363, 1363, 1363, 1363, 1363, 544, 1378, 543, 1374, + 1378, 1380, 1378, 534, 1380, 1381, 1380, 531, 1381, 1407, + 1381, 525, 1407, 521, 1407, 518, 517, 516, 503, 501, + 491, 490, 489, 1363, 486, 485, 442, 441, 438, 1375, + 436, 434, 433, 1377, 429, 411, 401, 400, 1375, 399, + 387, 385, 1377, 384, 383, 382, 381, 380, 378, 377, + 1378, 1375, 376, 375, 1380, 1377, 373, 372, 1381, 1378, + 371, 369, 1407, 1380, 367, 366, 1386, 1381, 365, 1386, + 364, 1386, 1378, 363, 359, 357, 1380, 354, 349, 1386, + + 1381, 1386, 348, 1386, 1386, 1386, 1386, 1386, 1386, 1386, + 1386, 1386, 346, 339, 338, 337, 336, 335, 334, 320, + 319, 317, 316, 314, 313, 311, 308, 306, 286, 285, + 284, 283, 282, 280, 275, 272, 269, 266, 265, 1386, + 1387, 262, 257, 255, 253, 243, 236, 234, 1387, 1387, + 1387, 1387, 231, 227, 225, 220, 1387, 1387, 1387, 1387, + 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, + 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, 1387, + 1387, 1387, 1388, 217, 215, 1388, 214, 1388, 213, 212, + 210, 208, 202, 198, 197, 1388, 195, 1388, 192, 1388, - 1362, 1362, 1362, 1362, 1362, 220, 217, 215, 214, 213, - 212, 210, 208, 202, 198, 197, 195, 192, 181, 180, + 1388, 1388, 1388, 1388, 1388, 1388, 1388, 1388, 181, 180, 179, 175, 174, 173, 160, 153, 146, 145, 143, 140, - 125, 124, 1362, 1363, 120, 119, 118, 112, 105, 102, - 100, 1363, 1363, 1363, 1363, 96, 95, 93, 92, 1363, - 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, - 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, 1363, - 1363, 1363, 1363, 1363, 1363, 1364, 89, 88, 1364, 85, - 1364, 81, 78, 75, 72, 71, 70, 69, 1364, 65, - 1364, 62, 1364, 1364, 1364, 1364, 1364, 1364, 1364, 1364, - - 1364, 58, 57, 54, 49, 47, 46, 41, 37, 36, - 35, 18, 17, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1364, 1365, - 0, 0, 0, 0, 0, 0, 0, 1365, 1365, 1365, - 1365, 0, 0, 0, 0, 1365, 1365, 1365, 1365, 1365, - 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, - 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, 1365, - 1365, 1370, 0, 0, 1370, 0, 1370, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1370, 1370, - 1370, 1370, 1370, 1370, 1370, 1370, 1370, 0, 1374, 0, - - 0, 1374, 0, 1374, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1374, 1374, 1374, 1374, 1374, - 1374, 1374, 1374, 1374, 1370, 1372, 1372, 1372, 1372, 1372, - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, - 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, 1372, - 1372, 1374, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, - 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, - 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1376, 1378, 0, - 0, 1378, 0, 1378, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1378, 1378, 1378, 1378, 1378, - - 1378, 1378, 1378, 1378, 0, 0, 0, 0, 0, 0, + 125, 124, 120, 119, 118, 112, 105, 102, 100, 96, + 95, 93, 92, 89, 88, 1388, 1389, 85, 81, 78, + 75, 72, 71, 70, 1389, 1389, 1389, 1389, 69, 65, + 62, 58, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, + 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, + 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1389, 1390, 57, + 54, 1390, 49, 1390, 47, 46, 41, 37, 36, 35, + 18, 1390, 17, 1390, 0, 1390, 1390, 1390, 1390, 1390, + + 1390, 1390, 1390, 1390, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1378, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, - 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, - 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1410, 1410, - 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1410, 1411, - 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, 1411, - 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, 1412, - 1412, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, 1413, - - 1413, 1413, 1414, 1414, 1414, 1414, 1414, 1414, 1414, 1414, - 1414, 1414, 1414, 1415, 1415, 1415, 1415, 1415, 1415, 1415, - 1415, 1415, 1415, 1415, 1416, 1416, 1416, 1416, 1416, 1416, - 1416, 1416, 1416, 1416, 1416, 1417, 1417, 1417, 1417, 1417, - 1417, 1417, 1417, 1417, 1417, 1417, 1418, 1418, 1418, 1418, - 1418, 1418, 1418, 1418, 1418, 1418, 1418, 1419, 1419, 1419, - 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1419, 1420, 1420, - 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1420, 1421, - 1421, 1421, 1421, 1422, 1422, 0, 1422, 1422, 1422, 1422, - 1422, 1422, 1422, 1422, 1423, 0, 0, 0, 1423, 1423, - - 1423, 1423, 1423, 1423, 1423, 1424, 1424, 0, 0, 1424, - 1424, 1424, 1424, 1424, 1424, 1424, 1425, 1425, 0, 1425, - 1425, 1425, 1425, 1425, 1425, 1425, 1425, 1426, 0, 0, - 0, 1426, 1426, 1426, 1426, 1426, 1426, 1426, 1427, 0, - 0, 0, 1427, 1427, 1427, 1427, 1427, 1427, 1427, 1428, - 0, 0, 0, 1428, 1428, 1428, 1428, 1428, 1428, 1428, - 1429, 1429, 0, 1429, 1429, 1429, 1429, 1429, 1429, 1429, - 1429, 1430, 1430, 0, 1430, 1430, 1430, 1430, 1430, 1430, - 1430, 1430, 1431, 1431, 0, 1431, 1431, 1431, 1431, 1431, - 1431, 1431, 1431, 1432, 1432, 0, 1432, 1432, 1432, 1432, - - 1432, 1432, 1432, 1432, 1433, 1433, 1433, 1433, 1433, 1433, - 1433, 1433, 1433, 1433, 1433, 1434, 1434, 1434, 1434, 1435, - 1435, 0, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, - 1436, 1436, 0, 1436, 1436, 1436, 1436, 1436, 1436, 1436, - 1436, 1437, 1437, 0, 1437, 1437, 1437, 1437, 1437, 1437, - 1437, 1437, 1438, 1438, 0, 1438, 1438, 1438, 1438, 1438, - 1438, 1438, 1438, 1439, 0, 1439, 1439, 1440, 1440, 1441, - 0, 0, 1441, 1441, 1442, 0, 0, 0, 1442, 1442, - 1442, 1442, 1442, 1442, 1442, 1443, 1443, 0, 0, 1443, - 1443, 1443, 1443, 1443, 1443, 1443, 1444, 1444, 0, 1444, - - 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1445, 0, 0, - 0, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1446, 0, - 0, 0, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1447, - 0, 0, 0, 1447, 1447, 1447, 1447, 1447, 1447, 1447, - 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1448, - 1448, 1449, 1449, 0, 1449, 1449, 1449, 1449, 1449, 1449, - 1449, 1449, 1450, 1450, 0, 1450, 1450, 1450, 1450, 1450, - 1450, 1450, 1450, 1451, 1451, 0, 1451, 1451, 1451, 1451, - 1451, 1451, 1451, 1451, 1452, 1452, 0, 1452, 1452, 1452, - 1452, 1452, 1452, 1452, 1452, 1453, 1453, 0, 1453, 1453, - - 1453, 1453, 1453, 1453, 1453, 1453, 1454, 1454, 1454, 1454, - 1454, 1454, 1454, 1454, 1454, 1454, 1454, 1456, 1456, 0, - 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1456, 1457, 1457, - 0, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1457, 1458, - 1458, 0, 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1458, - 1459, 1459, 0, 1459, 1459, 1459, 1459, 1459, 1459, 1459, - 1459, 1460, 1460, 0, 1460, 1460, 1460, 1460, 1460, 1460, + 0, 1390, 1391, 0, 0, 0, 0, 0, 0, 0, + 1391, 1391, 1391, 1391, 0, 0, 0, 0, 1391, 1391, + 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, + 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, 1391, + 1391, 1391, 1391, 1391, 1396, 0, 0, 1396, 0, 1396, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, 1396, + + 0, 1400, 0, 0, 1400, 0, 1400, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1400, 1400, + 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1396, 1398, 1398, + 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, + 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, 1398, + 1398, 1398, 1398, 1398, 1400, 1402, 1402, 1402, 1402, 1402, + 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, + 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, 1402, + 1402, 1404, 0, 0, 1404, 0, 1404, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1404, 1404, + + 1404, 1404, 1404, 1404, 1404, 1404, 1404, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1404, 1406, 1406, 1406, 1406, 1406, + 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, + 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, 1406, + 1406, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, 1436, + 1436, 1436, 1437, 1437, 1437, 1437, 1437, 1437, 1437, 1437, + 1437, 1437, 1437, 1438, 1438, 1438, 1438, 1438, 1438, 1438, + 1438, 1438, 1438, 1438, 1439, 1439, 1439, 1439, 1439, 1439, + + 1439, 1439, 1439, 1439, 1439, 1440, 1440, 1440, 1440, 1440, + 1440, 1440, 1440, 1440, 1440, 1440, 1441, 1441, 1441, 1441, + 1441, 1441, 1441, 1441, 1441, 1441, 1441, 1442, 1442, 1442, + 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1442, 1443, 1443, + 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1443, 1444, + 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, 1444, + 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, 1445, + 1445, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, 1446, + 1446, 1446, 1447, 1447, 1447, 1447, 1448, 1448, 0, 1448, + 1448, 1448, 1448, 1448, 1448, 1448, 1448, 1449, 0, 0, + + 0, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1450, 1450, + 0, 0, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1451, + 1451, 0, 1451, 1451, 1451, 1451, 1451, 1451, 1451, 1451, + 1452, 0, 0, 0, 1452, 1452, 1452, 1452, 1452, 1452, + 1452, 1453, 0, 0, 0, 1453, 1453, 1453, 1453, 1453, + 1453, 1453, 1454, 0, 0, 0, 1454, 1454, 1454, 1454, + 1454, 1454, 1454, 1455, 1455, 0, 1455, 1455, 1455, 1455, + 1455, 1455, 1455, 1455, 1456, 1456, 0, 1456, 1456, 1456, + 1456, 1456, 1456, 1456, 1456, 1457, 1457, 0, 1457, 1457, + 1457, 1457, 1457, 1457, 1457, 1457, 1458, 1458, 0, 1458, + + 1458, 1458, 1458, 1458, 1458, 1458, 1458, 1459, 1459, 1459, + 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1459, 1460, 1460, 1460, 1460, 1461, 1461, 0, 1461, 1461, 1461, 1461, 1461, - 1461, 1461, 1461, 1462, 1462, 1462, 1462, 1462, 0, 1462, + 1461, 1461, 1461, 1462, 1462, 0, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1462, 1463, 1463, 0, 1463, 1463, 1463, - - 1463, 1463, 1463, 1463, 1463, 1465, 1465, 1466, 1466, 1466, - 1466, 0, 1466, 1466, 1466, 1466, 1466, 1466, 1467, 1467, - 1467, 1467, 1467, 0, 1467, 1467, 1467, 1467, 1467, 1468, - 1468, 0, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1468, - 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1469, - 1469, 1470, 1470, 0, 1470, 1470, 1470, 1470, 1470, 1470, - 1470, 1470, 1471, 1471, 0, 1471, 1471, 1471, 1471, 1471, - 1471, 1471, 1471, 1472, 1472, 0, 1472, 1472, 1472, 1472, - 1472, 1472, 1472, 1472, 1473, 1473, 0, 1473, 1473, 1473, - 1473, 1473, 1473, 1473, 1473, 1474, 1474, 0, 1474, 1474, - - 1474, 1474, 1474, 1474, 1474, 1474, 1475, 1475, 0, 1475, - 1475, 1475, 1475, 1475, 1475, 1475, 1475, 1476, 1476, 0, - 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1476, 1477, 1477, - 0, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1478, - 1478, 0, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, - 1479, 1479, 0, 1479, 1479, 1479, 1479, 1479, 1479, 1479, - 1479, 1480, 1480, 0, 1480, 1480, 1480, 1480, 1480, 1480, - 1480, 1480, 1481, 1481, 0, 1481, 1481, 1481, 1481, 1481, - 1481, 1481, 1481, 1482, 1482, 0, 1482, 1482, 1482, 1482, - 1482, 1482, 1482, 1482, 1483, 1483, 0, 1483, 1483, 1483, - - 1483, 1483, 1483, 1483, 1483, 1484, 1484, 0, 1484, 1484, - 1484, 1484, 1484, 1484, 1484, 1484, 1485, 1485, 1485, 1485, - 1485, 1485, 1485, 1485, 1485, 1485, 1485, 1487, 1487, 1488, - 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, - 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, - 1489, 1490, 1490, 0, 1490, 1490, 1490, 1490, 1490, 1490, - 1490, 1490, 1491, 1491, 0, 1491, 1491, 1491, 1491, 1491, - 1491, 1491, 1491, 1492, 1492, 0, 1492, 1492, 1492, 1492, - 1492, 1492, 1492, 1492, 1493, 1493, 0, 1493, 1493, 1493, - 1493, 1493, 1493, 1493, 1493, 1494, 1494, 0, 1494, 1494, - - 1494, 1494, 1494, 1494, 1494, 1494, 1495, 1495, 0, 1495, - 1495, 1495, 1495, 1495, 1495, 1495, 1495, 1496, 1496, 0, - 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1496, 1497, 1497, - 0, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1497, 1498, - 1498, 0, 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1498, - 1499, 1499, 0, 1499, 1499, 1499, 1499, 1499, 1499, 1499, - 1499, 1500, 1500, 0, 1500, 1500, 1500, 1500, 1500, 1500, - 1500, 1500, 1501, 1501, 0, 1501, 1501, 1501, 1501, 1501, - 1501, 1501, 1501, 1502, 1502, 0, 1502, 1502, 1502, 1502, - 1502, 1502, 1502, 1502, 1503, 1503, 0, 1503, 1503, 1503, - - 1503, 1503, 1503, 1503, 1503, 1504, 1504, 0, 1504, 1504, - 1504, 1504, 1504, 1504, 1504, 1504, 1505, 1505, 0, 1505, - 1505, 1505, 1505, 1505, 1505, 1505, 1505, 1506, 1506, 0, - 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1506, 1507, 1507, - 0, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1507, 1508, - 1508, 0, 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1508, - 1509, 1509, 0, 1509, 1509, 1509, 1509, 1509, 1509, 1509, - 1509, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, - 1510, 1510, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, - 1511, 1511, 1511, 1512, 1512, 1512, 1512, 1512, 1512, 1512, - - 1512, 1512, 1512, 1512, 1513, 1513, 0, 1513, 1513, 1513, - 1513, 1513, 1513, 1513, 1513, 1514, 1514, 0, 1514, 1514, - 1514, 1514, 1514, 1514, 1514, 1514, 1515, 1515, 0, 1515, - 1515, 1515, 1515, 1515, 1515, 1515, 1515, 1516, 1516, 0, - 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1516, 1517, 1517, - 0, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1517, 1518, - 1518, 0, 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1518, - 1519, 1519, 0, 1519, 1519, 1519, 1519, 1519, 1519, 1519, - 1519, 1520, 1520, 0, 1520, 1520, 1520, 1520, 1520, 1520, - 1520, 1520, 1521, 1521, 0, 1521, 1521, 1521, 1521, 1521, - - 1521, 1521, 1521, 1522, 0, 1522, 1522, 1522, 1522, 1522, - 1522, 1522, 1522, 1522, 1523, 1523, 0, 1523, 1523, 1523, - 1523, 1523, 1523, 1523, 1523, 1524, 1524, 1524, 1524, 1524, - 1524, 1524, 1524, 1524, 1524, 1524, 1525, 1525, 0, 1525, - 1525, 1525, 1525, 1525, 1525, 1525, 1525, 1526, 1526, 0, - 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1526, 1527, 1527, - 0, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1527, 1528, - 1528, 0, 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1528, - 1529, 1529, 0, 1529, 1529, 1529, 1529, 1529, 1529, 1529, - 1529, 1530, 1530, 0, 1530, 1530, 1530, 1530, 1530, 1530, - - 1530, 1530, 1531, 1531, 0, 1531, 1531, 1531, 1531, 1531, - 1531, 1531, 1531, 1532, 1532, 0, 1532, 1532, 1532, 1532, - 1532, 1532, 1532, 1532, 1533, 1533, 0, 1533, 1533, 1533, - 1533, 1533, 1533, 1533, 1533, 1534, 1534, 0, 1534, 1534, - 1534, 1534, 1534, 1534, 1534, 1534, 1535, 1535, 0, 1535, - 1535, 1535, 1535, 1535, 1535, 1535, 1535, 1536, 1536, 0, - 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1536, 1537, 1537, - 0, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1537, 1538, - 1538, 0, 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1538, - 1539, 1539, 0, 1539, 1539, 1539, 1539, 1539, 1539, 1539, - - 1539, 1540, 1540, 0, 1540, 1540, 1540, 1540, 1540, 1540, - 1540, 1540, 1541, 1541, 0, 1541, 1541, 1541, 1541, 1541, - 1541, 1541, 1541, 1542, 1542, 0, 1542, 1542, 1542, 1542, - 1542, 1542, 1542, 1542, 1543, 1543, 0, 1543, 1543, 1543, - 1543, 1543, 1543, 1543, 1543, 1544, 1544, 0, 1544, 1544, - 1544, 1544, 1544, 1544, 1544, 1544, 1545, 1545, 0, 1545, - 1545, 1545, 1545, 1545, 1545, 1545, 1545, 1546, 1546, 0, - 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1546, 1547, 1547, - 0, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1547, 1548, - 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1548, - - 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, - 1549, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, - 1550, 1550, 1551, 1551, 0, 1551, 1551, 1551, 1551, 1551, - 1551, 1551, 1551, 1552, 1552, 0, 1552, 1552, 1552, 1552, - 1552, 1552, 1552, 1552, 1553, 1553, 0, 1553, 1553, 1553, - 1553, 1553, 1553, 1553, 1553, 1554, 1554, 0, 1554, 1554, - 1554, 1554, 1554, 1554, 1554, 1554, 1555, 1555, 0, 1555, - 1555, 1555, 1555, 1555, 1555, 1555, 1555, 1556, 1556, 0, - 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1556, 1557, 1557, - 0, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1557, 1558, - - 0, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1558, - 1559, 1559, 0, 1559, 1559, 1559, 1559, 1559, 1559, 1559, - 1559, 1560, 1560, 0, 1560, 1560, 1560, 1560, 1560, 1560, - 1560, 1560, 1561, 1561, 0, 1561, 1561, 1561, 1561, 1561, - 1561, 1561, 1561, 1562, 0, 1562, 1562, 1563, 1563, 0, - 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1563, 1564, 1564, - 0, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1564, 1565, - 1565, 0, 1565, 1565, 1565, 1565, 1565, 1565, 1565, 1565, - 1566, 1566, 0, 1566, 1566, 1566, 1566, 1566, 1566, 1566, - 1566, 1567, 1567, 0, 1567, 1567, 1567, 1567, 1567, 1567, - - 1567, 1567, 1568, 1568, 0, 1568, 1568, 1568, 1568, 1568, - 1568, 1568, 1568, 1569, 1569, 0, 1569, 1569, 1569, 1569, - 1569, 1569, 1569, 1569, 1570, 1570, 0, 1570, 1570, 1570, - 1570, 1570, 1570, 1570, 1570, 1571, 1571, 1571, 1571, 1571, - 1571, 1571, 1571, 1571, 1571, 1571, 1572, 1572, 0, 1572, - 1572, 1572, 1572, 1572, 1572, 1572, 1572, 1573, 1573, 0, - 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1573, 1574, 1574, - 0, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1576, - 1576, 0, 1576, 1576, 1576, 1576, 1576, 1576, 1576, 1576, - 1577, 1577, 0, 1577, 1577, 1577, 1577, 1577, 1577, 1577, - - 1577, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1578, - 1578, 1578, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, - 1579, 1579, 1579, 1580, 1580, 1580, 1580, 1580, 1580, 1580, - 1580, 1580, 1580, 1580, 1581, 1581, 0, 1581, 1581, 1581, - 1581, 1581, 1581, 1581, 1581, 1582, 0, 1582, 0, 1582, + 1463, 1463, 1463, 1463, 1463, 1464, 1464, 0, 1464, 1464, + 1464, 1464, 1464, 1464, 1464, 1464, 1465, 0, 1465, 1465, + 1466, 1466, 1467, 0, 0, 1467, 1467, 1468, 0, 0, + 0, 1468, 1468, 1468, 1468, 1468, 1468, 1468, 1469, 1469, + 0, 0, 1469, 1469, 1469, 1469, 1469, 1469, 1469, 1470, + + 1470, 0, 1470, 1470, 1470, 1470, 1470, 1470, 1470, 1470, + 1471, 0, 0, 0, 1471, 1471, 1471, 1471, 1471, 1471, + 1471, 1472, 0, 0, 0, 1472, 1472, 1472, 1472, 1472, + 1472, 1472, 1473, 0, 0, 0, 1473, 1473, 1473, 1473, + 1473, 1473, 1473, 1474, 1474, 1474, 1474, 1474, 1474, 1474, + 1474, 1474, 1474, 1474, 1475, 1475, 0, 1475, 1475, 1475, + 1475, 1475, 1475, 1475, 1475, 1476, 1476, 0, 1476, 1476, + 1476, 1476, 1476, 1476, 1476, 1476, 1477, 1477, 0, 1477, + 1477, 1477, 1477, 1477, 1477, 1477, 1477, 1478, 1478, 0, + 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1478, 1479, 1479, + + 0, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1479, 1480, + 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, 1480, + 1482, 1482, 0, 1482, 1482, 1482, 1482, 1482, 1482, 1482, + 1482, 1483, 1483, 0, 1483, 1483, 1483, 1483, 1483, 1483, + 1483, 1483, 1484, 1484, 0, 1484, 1484, 1484, 1484, 1484, + 1484, 1484, 1484, 1485, 1485, 0, 1485, 1485, 1485, 1485, + 1485, 1485, 1485, 1485, 1486, 1486, 0, 1486, 1486, 1486, + 1486, 1486, 1486, 1486, 1486, 1487, 1487, 0, 1487, 1487, + 1487, 1487, 1487, 1487, 1487, 1487, 1488, 1488, 1488, 1488, + 1488, 0, 1488, 1488, 1488, 1488, 1488, 1489, 1489, 0, + + 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1489, 1491, 1491, + 1492, 1492, 1492, 1492, 0, 1492, 1492, 1492, 1492, 1492, + 1492, 1493, 1493, 1493, 1493, 1493, 0, 1493, 1493, 1493, + 1493, 1493, 1494, 1494, 0, 1494, 1494, 1494, 1494, 1494, + 1494, 1494, 1494, 1495, 1495, 1495, 1495, 1495, 1495, 1495, + 1495, 1495, 1495, 1495, 1496, 1496, 0, 1496, 1496, 1496, + 1496, 1496, 1496, 1496, 1496, 1497, 1497, 0, 1497, 1497, + 1497, 1497, 1497, 1497, 1497, 1497, 1498, 1498, 0, 1498, + 1498, 1498, 1498, 1498, 1498, 1498, 1498, 1499, 1499, 0, + 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1499, 1500, 1500, + + 0, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1501, + 1501, 0, 1501, 1501, 1501, 1501, 1501, 1501, 1501, 1501, + 1502, 1502, 0, 1502, 1502, 1502, 1502, 1502, 1502, 1502, + 1502, 1503, 1503, 0, 1503, 1503, 1503, 1503, 1503, 1503, + 1503, 1503, 1504, 1504, 0, 1504, 1504, 1504, 1504, 1504, + 1504, 1504, 1504, 1505, 1505, 0, 1505, 1505, 1505, 1505, + 1505, 1505, 1505, 1505, 1506, 1506, 0, 1506, 1506, 1506, + 1506, 1506, 1506, 1506, 1506, 1507, 1507, 0, 1507, 1507, + 1507, 1507, 1507, 1507, 1507, 1507, 1508, 1508, 0, 1508, + 1508, 1508, 1508, 1508, 1508, 1508, 1508, 1509, 1509, 0, + + 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1509, 1510, 1510, + 0, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1510, 1511, + 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, 1511, + 1513, 1513, 1514, 1514, 1514, 1514, 1514, 1514, 1514, 1514, + 1514, 1514, 1514, 1515, 1515, 1515, 1515, 1515, 1515, 1515, + 1515, 1515, 1515, 1515, 1516, 1516, 0, 1516, 1516, 1516, + 1516, 1516, 1516, 1516, 1516, 1517, 1517, 0, 1517, 1517, + 1517, 1517, 1517, 1517, 1517, 1517, 1518, 1518, 0, 1518, + 1518, 1518, 1518, 1518, 1518, 1518, 1518, 1519, 1519, 0, + 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1519, 1520, 1520, + + 0, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1520, 1521, + 1521, 0, 1521, 1521, 1521, 1521, 1521, 1521, 1521, 1521, + 1522, 1522, 0, 1522, 1522, 1522, 1522, 1522, 1522, 1522, + 1522, 1523, 1523, 0, 1523, 1523, 1523, 1523, 1523, 1523, + 1523, 1523, 1524, 1524, 0, 1524, 1524, 1524, 1524, 1524, + 1524, 1524, 1524, 1525, 1525, 0, 1525, 1525, 1525, 1525, + 1525, 1525, 1525, 1525, 1526, 1526, 0, 1526, 1526, 1526, + 1526, 1526, 1526, 1526, 1526, 1527, 1527, 0, 1527, 1527, + 1527, 1527, 1527, 1527, 1527, 1527, 1528, 1528, 0, 1528, + 1528, 1528, 1528, 1528, 1528, 1528, 1528, 1529, 1529, 0, + + 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1529, 1530, 1530, + 0, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1530, 1531, + 1531, 0, 1531, 1531, 1531, 1531, 1531, 1531, 1531, 1531, + 1532, 1532, 0, 1532, 1532, 1532, 1532, 1532, 1532, 1532, + 1532, 1533, 1533, 0, 1533, 1533, 1533, 1533, 1533, 1533, + 1533, 1533, 1534, 1534, 0, 1534, 1534, 1534, 1534, 1534, + 1534, 1534, 1534, 1535, 1535, 0, 1535, 1535, 1535, 1535, + 1535, 1535, 1535, 1535, 1536, 1536, 1536, 1536, 1536, 1536, + 1536, 1536, 1536, 1536, 1536, 1537, 1537, 1537, 1537, 1537, + 1537, 1537, 1537, 1537, 1537, 1537, 1538, 1538, 1538, 1538, + + 1538, 1538, 1538, 1538, 1538, 1538, 1538, 1539, 1539, 0, + 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1539, 1540, 1540, + 0, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1541, + 1541, 0, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, + 1542, 1542, 0, 1542, 1542, 1542, 1542, 1542, 1542, 1542, + 1542, 1543, 1543, 0, 1543, 1543, 1543, 1543, 1543, 1543, + 1543, 1543, 1544, 1544, 0, 1544, 1544, 1544, 1544, 1544, + 1544, 1544, 1544, 1545, 1545, 0, 1545, 1545, 1545, 1545, + 1545, 1545, 1545, 1545, 1546, 1546, 0, 1546, 1546, 1546, + 1546, 1546, 1546, 1546, 1546, 1547, 1547, 0, 1547, 1547, + + 1547, 1547, 1547, 1547, 1547, 1547, 1548, 0, 1548, 1548, + 1548, 1548, 1548, 1548, 1548, 1548, 1548, 1549, 1549, 0, + 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1549, 1550, 1550, + 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1550, 1551, + 1551, 0, 1551, 1551, 1551, 1551, 1551, 1551, 1551, 1551, + 1552, 1552, 0, 1552, 1552, 1552, 1552, 1552, 1552, 1552, + 1552, 1553, 1553, 0, 1553, 1553, 1553, 1553, 1553, 1553, + 1553, 1553, 1554, 1554, 0, 1554, 1554, 1554, 1554, 1554, + 1554, 1554, 1554, 1555, 1555, 0, 1555, 1555, 1555, 1555, + 1555, 1555, 1555, 1555, 1556, 1556, 0, 1556, 1556, 1556, + + 1556, 1556, 1556, 1556, 1556, 1557, 1557, 0, 1557, 1557, + 1557, 1557, 1557, 1557, 1557, 1557, 1558, 1558, 0, 1558, + 1558, 1558, 1558, 1558, 1558, 1558, 1558, 1559, 1559, 0, + 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1559, 1560, 1560, + 0, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1560, 1561, + 1561, 0, 1561, 1561, 1561, 1561, 1561, 1561, 1561, 1561, + 1562, 1562, 0, 1562, 1562, 1562, 1562, 1562, 1562, 1562, + 1562, 1563, 1563, 0, 1563, 1563, 1563, 1563, 1563, 1563, + 1563, 1563, 1564, 1564, 0, 1564, 1564, 1564, 1564, 1564, + 1564, 1564, 1564, 1565, 1565, 0, 1565, 1565, 1565, 1565, + + 1565, 1565, 1565, 1565, 1566, 1566, 0, 1566, 1566, 1566, + 1566, 1566, 1566, 1566, 1566, 1567, 1567, 0, 1567, 1567, + 1567, 1567, 1567, 1567, 1567, 1567, 1568, 1568, 0, 1568, + 1568, 1568, 1568, 1568, 1568, 1568, 1568, 1569, 1569, 0, + 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1569, 1570, 1570, + 0, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1570, 1571, + 1571, 0, 1571, 1571, 1571, 1571, 1571, 1571, 1571, 1571, + 1572, 1572, 0, 1572, 1572, 1572, 1572, 1572, 1572, 1572, + 1572, 1573, 1573, 0, 1573, 1573, 1573, 1573, 1573, 1573, + 1573, 1573, 1574, 1574, 1574, 1574, 1574, 1574, 1574, 1574, + + 1574, 1574, 1574, 1575, 1575, 1575, 1575, 1575, 1575, 1575, + 1575, 1575, 1575, 1575, 1576, 1576, 1576, 1576, 1576, 1576, + 1576, 1576, 1576, 1576, 1576, 1577, 1577, 0, 1577, 1577, + 1577, 1577, 1577, 1577, 1577, 1577, 1578, 1578, 0, 1578, + 1578, 1578, 1578, 1578, 1578, 1578, 1578, 1579, 1579, 0, + 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1579, 1580, 1580, + 0, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1580, 1581, + 1581, 0, 1581, 1581, 1581, 1581, 1581, 1581, 1581, 1581, + 1582, 1582, 0, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1582, 1583, 1583, 0, 1583, 1583, 1583, 1583, 1583, 1583, - 1583, 1583, 1584, 0, 1584, 1584, 1585, 0, 1585, 1585, - 1588, 1588, 0, 1588, 1588, 1588, 1588, 1588, 1588, 1588, - 1588, 1589, 1589, 0, 1589, 1589, 1589, 1589, 1589, 1589, - 1589, 1589, 1590, 1590, 0, 1590, 1590, 1590, 1590, 1590, - - 1590, 1590, 1590, 1591, 0, 1591, 1591, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, 1409, - 1409, 1409, 1409, 1409 + + 1583, 1583, 1584, 0, 1584, 1584, 1584, 1584, 1584, 1584, + 1584, 1584, 1584, 1585, 1585, 0, 1585, 1585, 1585, 1585, + 1585, 1585, 1585, 1585, 1586, 1586, 0, 1586, 1586, 1586, + 1586, 1586, 1586, 1586, 1586, 1587, 1587, 0, 1587, 1587, + 1587, 1587, 1587, 1587, 1587, 1587, 1588, 0, 1588, 1588, + 1589, 1589, 0, 1589, 1589, 1589, 1589, 1589, 1589, 1589, + 1589, 1590, 1590, 0, 1590, 1590, 1590, 1590, 1590, 1590, + 1590, 1590, 1591, 1591, 0, 1591, 1591, 1591, 1591, 1591, + 1591, 1591, 1591, 1592, 1592, 0, 1592, 1592, 1592, 1592, + 1592, 1592, 1592, 1592, 1593, 1593, 0, 1593, 1593, 1593, + + 1593, 1593, 1593, 1593, 1593, 1594, 1594, 0, 1594, 1594, + 1594, 1594, 1594, 1594, 1594, 1594, 1595, 1595, 0, 1595, + 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1596, 1596, 0, + 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1596, 1597, 1597, + 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1597, 1598, + 1598, 0, 1598, 1598, 1598, 1598, 1598, 1598, 1598, 1598, + 1599, 1599, 0, 1599, 1599, 1599, 1599, 1599, 1599, 1599, + 1599, 1600, 1600, 0, 1600, 1600, 1600, 1600, 1600, 1600, + 1600, 1600, 1602, 1602, 0, 1602, 1602, 1602, 1602, 1602, + 1602, 1602, 1602, 1603, 1603, 0, 1603, 1603, 1603, 1603, + + 1603, 1603, 1603, 1603, 1604, 1604, 1604, 1604, 1604, 1604, + 1604, 1604, 1604, 1604, 1604, 1605, 1605, 1605, 1605, 1605, + 1605, 1605, 1605, 1605, 1605, 1605, 1606, 1606, 1606, 1606, + 1606, 1606, 1606, 1606, 1606, 1606, 1606, 1607, 1607, 0, + 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1607, 1608, 0, + 1608, 0, 1608, 1608, 1609, 1609, 0, 1609, 1609, 1609, + 1609, 1609, 1609, 1609, 1609, 1610, 0, 1610, 1610, 1611, + 0, 1611, 1611, 1614, 1614, 0, 1614, 1614, 1614, 1614, + 1614, 1614, 1614, 1614, 1615, 1615, 0, 1615, 1615, 1615, + 1615, 1615, 1615, 1615, 1615, 1616, 1616, 0, 1616, 1616, + + 1616, 1616, 1616, 1616, 1616, 1616, 1617, 0, 1617, 1617, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, + 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435, 1435 } ; static yy_state_type yy_last_accepting_state; @@ -2571,9 +2607,9 @@ int yy_flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "lexgrog.l" +#line 1 "../../../src/lexgrog.l" -#line 8 "lexgrog.l" +#line 15 "../../../src/lexgrog.l" /* * lexgrog.l: extract 'whatis' info from nroff man / formatted cat pages. @@ -2803,9 +2839,9 @@ static pipeline *decomp; result = YY_NULL; \ } #define YY_NO_INPUT -#line 2807 "lexgrog.c" +#line 2843 "../../../src/lexgrog.c" -#line 283 "lexgrog.l" +#line 290 "../../../src/lexgrog.l" /* Please add to this list if you know how. */ /* Note that, since flex only supports UTF-8 by accident, character classes * including non-ASCII characters must be written out as (a|b|c|d) rather @@ -2813,7 +2849,7 @@ static pipeline *decomp; */ /* NOME also works for gl, pt */ /* eptgrv : eqn, pic, tbl, grap, refer, vgrind */ -#line 2817 "lexgrog.c" +#line 2853 "../../../src/lexgrog.c" #define INITIAL 0 #define MAN_PRENAME 1 @@ -3045,11 +3081,11 @@ YY_DECL } { -#line 327 "lexgrog.l" +#line 337 "../../../src/lexgrog.l" /* begin NAME section processing */ -#line 3053 "lexgrog.c" +#line 3089 "../../../src/lexgrog.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -3076,13 +3112,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1410 ) + if ( yy_current_state >= 1436 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; ++yy_cp; } - while ( yy_current_state != 1409 ); + while ( yy_current_state != 1435 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -3105,42 +3141,42 @@ do_action: /* This label is used only to access EOF actions. */ case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 330 "lexgrog.l" +#line 340 "../../../src/lexgrog.l" BEGIN (MAN_PRENAME); YY_BREAK case 2: /* rule 2 can match eol */ YY_RULE_SETUP -#line 331 "lexgrog.l" +#line 341 "../../../src/lexgrog.l" BEGIN (CAT_NAME); YY_BREAK /* general text matching */ case 3: -#line 336 "lexgrog.l" +#line 346 "../../../src/lexgrog.l" case 4: -#line 337 "lexgrog.l" +#line 347 "../../../src/lexgrog.l" case 5: -#line 338 "lexgrog.l" +#line 348 "../../../src/lexgrog.l" case 6: /* rule 6 can match eol */ YY_RULE_SETUP -#line 338 "lexgrog.l" +#line 348 "../../../src/lexgrog.l" YY_BREAK case 7: -#line 343 "lexgrog.l" +#line 353 "../../../src/lexgrog.l" case 8: -#line 344 "lexgrog.l" +#line 354 "../../../src/lexgrog.l" case 9: /* rule 9 can match eol */ -#line 345 "lexgrog.l" +#line 355 "../../../src/lexgrog.l" case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 345 "lexgrog.l" +#line 355 "../../../src/lexgrog.l" YY_BREAK @@ -3148,45 +3184,45 @@ YY_RULE_SETUP case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 349 "lexgrog.l" +#line 359 "../../../src/lexgrog.l" filters[TBL_FILTER] = 't'; YY_BREAK case 12: /* rule 12 can match eol */ YY_RULE_SETUP -#line 350 "lexgrog.l" +#line 360 "../../../src/lexgrog.l" filters[EQN_FILTER] = 'e'; YY_BREAK case 13: /* rule 13 can match eol */ YY_RULE_SETUP -#line 351 "lexgrog.l" +#line 361 "../../../src/lexgrog.l" filters[PIC_FILTER] = 'p'; YY_BREAK case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 352 "lexgrog.l" +#line 362 "../../../src/lexgrog.l" filters[GRAP_FILTER] = 'g'; YY_BREAK case 15: /* rule 15 can match eol */ -#line 354 "lexgrog.l" +#line 364 "../../../src/lexgrog.l" case 16: /* rule 16 can match eol */ YY_RULE_SETUP -#line 354 "lexgrog.l" +#line 364 "../../../src/lexgrog.l" filters[REF_FILTER] = 'r'; YY_BREAK case 17: /* rule 17 can match eol */ YY_RULE_SETUP -#line 355 "lexgrog.l" +#line 365 "../../../src/lexgrog.l" filters[VGRIND_FILTER] = 'v'; YY_BREAK case YY_STATE_EOF(MAN_REST): -#line 357 "lexgrog.l" +#line 367 "../../../src/lexgrog.l" { /* exit */ *p_name = '\0'; /* terminate the string */ yyterminate (); @@ -3195,14 +3231,14 @@ case YY_STATE_EOF(MAN_REST): case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 361 "lexgrog.l" +#line 371 "../../../src/lexgrog.l" YY_BREAK /* rules to end NAME section processing */ case 19: /* rule 19 can match eol */ YY_RULE_SETUP -#line 364 "lexgrog.l" +#line 374 "../../../src/lexgrog.l" { /* forced exit */ *p_name = '\0'; /* terminate the string */ yyterminate (); @@ -3210,10 +3246,10 @@ YY_RULE_SETUP YY_BREAK case 20: /* rule 20 can match eol */ -#line 370 "lexgrog.l" +#line 380 "../../../src/lexgrog.l" YY_RULE_SETUP case YY_STATE_EOF(MAN_PRENAME): -#line 370 "lexgrog.l" +#line 380 "../../../src/lexgrog.l" { /* no NAME at all */ *p_name = '\0'; BEGIN (MAN_REST); @@ -3224,23 +3260,23 @@ case YY_STATE_EOF(MAN_PRENAME): case 21: /* rule 21 can match eol */ -#line 379 "lexgrog.l" +#line 389 "../../../src/lexgrog.l" case 22: /* rule 22 can match eol */ -#line 380 "lexgrog.l" +#line 390 "../../../src/lexgrog.l" case 23: /* rule 23 can match eol */ -#line 381 "lexgrog.l" +#line 391 "../../../src/lexgrog.l" case 24: /* rule 24 can match eol */ -#line 382 "lexgrog.l" +#line 392 "../../../src/lexgrog.l" case 25: /* rule 25 can match eol */ -#line 383 "lexgrog.l" +#line 393 "../../../src/lexgrog.l" case 26: /* rule 26 can match eol */ YY_RULE_SETUP -#line 383 "lexgrog.l" +#line 393 "../../../src/lexgrog.l" { yyless (0); BEGIN (MAN_NAME); @@ -3252,19 +3288,19 @@ YY_RULE_SETUP case 27: /* rule 27 can match eol */ YY_RULE_SETUP -#line 391 "lexgrog.l" +#line 401 "../../../src/lexgrog.l" YY_BREAK case 28: /* rule 28 can match eol */ YY_RULE_SETUP -#line 393 "lexgrog.l" +#line 403 "../../../src/lexgrog.l" yyless (1); YY_BREAK case 29: /* rule 29 can match eol */ YY_RULE_SETUP -#line 395 "lexgrog.l" +#line 405 "../../../src/lexgrog.l" { yyless (0); BEGIN (MAN_NAME); @@ -3273,30 +3309,30 @@ YY_RULE_SETUP case 30: /* rule 30 can match eol */ -#line 402 "lexgrog.l" +#line 412 "../../../src/lexgrog.l" case 31: /* rule 31 can match eol */ -#line 403 "lexgrog.l" +#line 413 "../../../src/lexgrog.l" case 32: /* rule 32 can match eol */ -#line 404 "lexgrog.l" +#line 414 "../../../src/lexgrog.l" case 33: /* rule 33 can match eol */ -#line 405 "lexgrog.l" +#line 415 "../../../src/lexgrog.l" case 34: /* rule 34 can match eol */ -#line 406 "lexgrog.l" +#line 416 "../../../src/lexgrog.l" case 35: /* rule 35 can match eol */ -#line 407 "lexgrog.l" +#line 417 "../../../src/lexgrog.l" case 36: /* rule 36 can match eol */ -#line 408 "lexgrog.l" +#line 418 "../../../src/lexgrog.l" YY_RULE_SETUP case YY_STATE_EOF(MAN_NAME): YY_RULE_SETUP case YY_STATE_EOF(MAN_DESC): -#line 408 "lexgrog.l" +#line 418 "../../../src/lexgrog.l" { /* terminate the string */ *p_name = '\0'; BEGIN (MAN_REST); @@ -3306,14 +3342,14 @@ case YY_STATE_EOF(MAN_DESC): case 37: /* rule 37 can match eol */ -#line 416 "lexgrog.l" +#line 426 "../../../src/lexgrog.l" case 38: /* rule 38 can match eol */ -#line 417 "lexgrog.l" +#line 427 "../../../src/lexgrog.l" case 39: /* rule 39 can match eol */ YY_RULE_SETUP -#line 417 "lexgrog.l" +#line 427 "../../../src/lexgrog.l" { /* terminate the string */ *p_name = '\0'; BEGIN (CAT_REST); @@ -3327,7 +3363,7 @@ YY_RULE_SETUP case 40: /* rule 40 can match eol */ YY_RULE_SETUP -#line 427 "lexgrog.l" +#line 437 "../../../src/lexgrog.l" { newline_found (); waiting_for_quote = 1; @@ -3335,32 +3371,32 @@ YY_RULE_SETUP YY_BREAK case 41: /* rule 41 can match eol */ -#line 433 "lexgrog.l" +#line 443 "../../../src/lexgrog.l" case 42: /* rule 42 can match eol */ -#line 434 "lexgrog.l" +#line 444 "../../../src/lexgrog.l" case 43: /* rule 43 can match eol */ -#line 435 "lexgrog.l" +#line 445 "../../../src/lexgrog.l" case 44: /* rule 44 can match eol */ -#line 436 "lexgrog.l" +#line 446 "../../../src/lexgrog.l" case 45: /* rule 45 can match eol */ -#line 437 "lexgrog.l" +#line 447 "../../../src/lexgrog.l" case 46: /* rule 46 can match eol */ -#line 438 "lexgrog.l" +#line 448 "../../../src/lexgrog.l" case 47: /* rule 47 can match eol */ -#line 439 "lexgrog.l" +#line 449 "../../../src/lexgrog.l" case 48: /* rule 48 can match eol */ -#line 440 "lexgrog.l" +#line 450 "../../../src/lexgrog.l" case 49: /* rule 49 can match eol */ YY_RULE_SETUP -#line 440 "lexgrog.l" +#line 450 "../../../src/lexgrog.l" { /* per line comments */ newline_found (); } @@ -3375,7 +3411,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 447 "lexgrog.l" +#line 457 "../../../src/lexgrog.l" newline_found (); YY_BREAK case 51: @@ -3385,7 +3421,7 @@ YY_LINENO_REWIND_TO(yy_cp - 1); (yy_c_buf_p) = yy_cp -= 1; YY_DO_BEFORE_ACTION; /* set up yytext again */ YY_RULE_SETUP -#line 448 "lexgrog.l" +#line 458 "../../../src/lexgrog.l" newline_found (); YY_BREAK @@ -3394,37 +3430,37 @@ newline_found (); case 52: /* rule 52 can match eol */ YY_RULE_SETUP -#line 453 "lexgrog.l" +#line 463 "../../../src/lexgrog.l" fill_mode = 0; YY_BREAK case 53: /* rule 53 can match eol */ YY_RULE_SETUP -#line 454 "lexgrog.l" +#line 464 "../../../src/lexgrog.l" fill_mode = 1; YY_BREAK case 54: /* rule 54 can match eol */ YY_RULE_SETUP -#line 457 "lexgrog.l" +#line 467 "../../../src/lexgrog.l" /* strip continuations */ YY_BREAK /* convert to DASH */ case 55: /* rule 55 can match eol */ -#line 462 "lexgrog.l" +#line 472 "../../../src/lexgrog.l" case 56: /* rule 56 can match eol */ -#line 463 "lexgrog.l" +#line 473 "../../../src/lexgrog.l" case 57: /* rule 57 can match eol */ -#line 464 "lexgrog.l" +#line 474 "../../../src/lexgrog.l" case 58: /* rule 58 can match eol */ YY_RULE_SETUP -#line 464 "lexgrog.l" +#line 474 "../../../src/lexgrog.l" { add_separator_to_whatis (); BEGIN (MAN_DESC); @@ -3434,7 +3470,7 @@ YY_RULE_SETUP case 59: /* rule 59 can match eol */ YY_RULE_SETUP -#line 469 "lexgrog.l" +#line 479 "../../../src/lexgrog.l" add_separator_to_whatis (); YY_BREAK /* escape sequences and special characters */ @@ -3442,141 +3478,141 @@ add_separator_to_whatis (); case 60: /* rule 60 can match eol */ YY_RULE_SETUP -#line 473 "lexgrog.l" +#line 483 "../../../src/lexgrog.l" add_char_to_whatis ('\\'); YY_BREAK case 61: /* rule 61 can match eol */ YY_RULE_SETUP -#line 474 "lexgrog.l" +#line 484 "../../../src/lexgrog.l" add_char_to_whatis ('\''); YY_BREAK case 62: /* rule 62 can match eol */ YY_RULE_SETUP -#line 475 "lexgrog.l" +#line 485 "../../../src/lexgrog.l" add_char_to_whatis ('`'); YY_BREAK case 63: /* rule 63 can match eol */ YY_RULE_SETUP -#line 476 "lexgrog.l" +#line 486 "../../../src/lexgrog.l" add_char_to_whatis ('-'); YY_BREAK case 64: /* rule 64 can match eol */ YY_RULE_SETUP -#line 477 "lexgrog.l" +#line 487 "../../../src/lexgrog.l" add_char_to_whatis ('.'); YY_BREAK case 65: /* rule 65 can match eol */ YY_RULE_SETUP -#line 478 "lexgrog.l" +#line 488 "../../../src/lexgrog.l" add_char_to_whatis (' '); YY_BREAK case 66: /* rule 66 can match eol */ YY_RULE_SETUP -#line 479 "lexgrog.l" +#line 489 "../../../src/lexgrog.l" add_char_to_whatis ('_'); YY_BREAK case 67: /* rule 67 can match eol */ YY_RULE_SETUP -#line 480 "lexgrog.l" +#line 490 "../../../src/lexgrog.l" add_char_to_whatis ('\t'); YY_BREAK case 68: /* rule 68 can match eol */ YY_RULE_SETUP -#line 482 "lexgrog.l" +#line 492 "../../../src/lexgrog.l" /* various useless control chars */ YY_BREAK case 69: /* rule 69 can match eol */ YY_RULE_SETUP -#line 483 "lexgrog.l" +#line 493 "../../../src/lexgrog.l" /* various inline functions */ YY_BREAK case 70: /* rule 70 can match eol */ YY_RULE_SETUP -#line 485 "lexgrog.l" +#line 495 "../../../src/lexgrog.l" /* interpolate arg */ YY_BREAK /* roff named glyphs */ case 71: /* rule 71 can match eol */ YY_RULE_SETUP -#line 488 "lexgrog.l" +#line 498 "../../../src/lexgrog.l" add_glyph_to_whatis (yytext + 2, 2); YY_BREAK /* perldoc strings */ case 72: /* rule 72 can match eol */ YY_RULE_SETUP -#line 490 "lexgrog.l" +#line 500 "../../../src/lexgrog.l" add_perldoc_to_whatis (yytext + 3, 2); YY_BREAK case 73: /* rule 73 can match eol */ YY_RULE_SETUP -#line 491 "lexgrog.l" +#line 501 "../../../src/lexgrog.l" add_perldoc_to_whatis (yytext + 2, 1); YY_BREAK case 74: /* rule 74 can match eol */ YY_RULE_SETUP -#line 493 "lexgrog.l" +#line 503 "../../../src/lexgrog.l" /* comment */ YY_BREAK case 75: /* rule 75 can match eol */ YY_RULE_SETUP -#line 495 "lexgrog.l" +#line 505 "../../../src/lexgrog.l" /* font changes */ YY_BREAK case 76: /* rule 76 can match eol */ YY_RULE_SETUP -#line 496 "lexgrog.l" +#line 506 "../../../src/lexgrog.l" /* mark input place in register */ YY_BREAK case 77: /* rule 77 can match eol */ YY_RULE_SETUP -#line 498 "lexgrog.l" +#line 508 "../../../src/lexgrog.l" /* interpolate number register */ YY_BREAK case 78: /* rule 78 can match eol */ YY_RULE_SETUP -#line 499 "lexgrog.l" +#line 509 "../../../src/lexgrog.l" /* overstrike chars */ YY_BREAK case 79: /* rule 79 can match eol */ YY_RULE_SETUP -#line 501 "lexgrog.l" +#line 511 "../../../src/lexgrog.l" /* size changes */ YY_BREAK case 80: /* rule 80 can match eol */ YY_RULE_SETUP -#line 502 "lexgrog.l" +#line 512 "../../../src/lexgrog.l" /* width of string */ YY_BREAK case 81: /* rule 81 can match eol */ YY_RULE_SETUP -#line 504 "lexgrog.l" +#line 514 "../../../src/lexgrog.l" /* catch all */ YY_BREAK case 82: /* rule 82 can match eol */ YY_RULE_SETUP -#line 506 "lexgrog.l" +#line 516 "../../../src/lexgrog.l" /* function() in hpux */ YY_BREAK @@ -3587,49 +3623,49 @@ YY_RULE_SETUP case 83: /* rule 83 can match eol */ YY_RULE_SETUP -#line 513 "lexgrog.l" +#line 523 "../../../src/lexgrog.l" BEGIN (MAN_DESC_AT); YY_BREAK case 84: /* rule 84 can match eol */ YY_RULE_SETUP -#line 514 "lexgrog.l" +#line 524 "../../../src/lexgrog.l" BEGIN (MAN_DESC_BSX); YY_BREAK case 85: /* rule 85 can match eol */ YY_RULE_SETUP -#line 515 "lexgrog.l" +#line 525 "../../../src/lexgrog.l" BEGIN (MAN_DESC_BX); YY_BREAK case 86: /* rule 86 can match eol */ YY_RULE_SETUP -#line 516 "lexgrog.l" +#line 526 "../../../src/lexgrog.l" BEGIN (MAN_DESC_FX); YY_BREAK case 87: /* rule 87 can match eol */ YY_RULE_SETUP -#line 517 "lexgrog.l" +#line 527 "../../../src/lexgrog.l" BEGIN (MAN_DESC_NX); YY_BREAK case 88: /* rule 88 can match eol */ YY_RULE_SETUP -#line 518 "lexgrog.l" +#line 528 "../../../src/lexgrog.l" BEGIN (MAN_DESC_OX); YY_BREAK case 89: /* rule 89 can match eol */ YY_RULE_SETUP -#line 519 "lexgrog.l" +#line 529 "../../../src/lexgrog.l" add_word_to_whatis ("UNIX"); YY_BREAK case 90: /* rule 90 can match eol */ YY_RULE_SETUP -#line 521 "lexgrog.l" +#line 531 "../../../src/lexgrog.l" { add_word_to_whatis ("\""); BEGIN (MAN_DESC_DQ); @@ -3639,73 +3675,73 @@ YY_RULE_SETUP case 91: YY_RULE_SETUP -#line 528 "lexgrog.l" +#line 538 "../../../src/lexgrog.l" mdoc_text ("Version 32V AT&T UNIX"); YY_BREAK case 92: YY_RULE_SETUP -#line 529 "lexgrog.l" +#line 539 "../../../src/lexgrog.l" mdoc_text ("Version 1 AT&T UNIX"); YY_BREAK case 93: YY_RULE_SETUP -#line 530 "lexgrog.l" +#line 540 "../../../src/lexgrog.l" mdoc_text ("Version 2 AT&T UNIX"); YY_BREAK case 94: YY_RULE_SETUP -#line 531 "lexgrog.l" +#line 541 "../../../src/lexgrog.l" mdoc_text ("Version 3 AT&T UNIX"); YY_BREAK case 95: YY_RULE_SETUP -#line 532 "lexgrog.l" +#line 542 "../../../src/lexgrog.l" mdoc_text ("Version 4 AT&T UNIX"); YY_BREAK case 96: YY_RULE_SETUP -#line 533 "lexgrog.l" +#line 543 "../../../src/lexgrog.l" mdoc_text ("Version 5 AT&T UNIX"); YY_BREAK case 97: YY_RULE_SETUP -#line 534 "lexgrog.l" +#line 544 "../../../src/lexgrog.l" mdoc_text ("Version 6 AT&T UNIX"); YY_BREAK case 98: YY_RULE_SETUP -#line 535 "lexgrog.l" +#line 545 "../../../src/lexgrog.l" mdoc_text ("Version 7 AT&T UNIX"); YY_BREAK case 99: YY_RULE_SETUP -#line 536 "lexgrog.l" +#line 546 "../../../src/lexgrog.l" mdoc_text ("AT&T System V UNIX"); YY_BREAK case 100: YY_RULE_SETUP -#line 537 "lexgrog.l" +#line 547 "../../../src/lexgrog.l" mdoc_text ("AT&T System V.1 UNIX"); YY_BREAK case 101: YY_RULE_SETUP -#line 538 "lexgrog.l" +#line 548 "../../../src/lexgrog.l" mdoc_text ("AT&T System V.2 UNIX"); YY_BREAK case 102: YY_RULE_SETUP -#line 539 "lexgrog.l" +#line 549 "../../../src/lexgrog.l" mdoc_text ("AT&T System V.3 UNIX"); YY_BREAK case 103: YY_RULE_SETUP -#line 540 "lexgrog.l" +#line 550 "../../../src/lexgrog.l" mdoc_text ("AT&T System V.4 UNIX"); YY_BREAK case 104: /* rule 104 can match eol */ YY_RULE_SETUP -#line 541 "lexgrog.l" +#line 551 "../../../src/lexgrog.l" { yyless (0); mdoc_text ("AT&T UNIX"); @@ -3715,7 +3751,7 @@ YY_RULE_SETUP case 105: YY_RULE_SETUP -#line 548 "lexgrog.l" +#line 558 "../../../src/lexgrog.l" { add_word_to_whatis ("BSD/OS"); add_wordn_to_whatis (yytext, yyleng); @@ -3725,7 +3761,7 @@ YY_RULE_SETUP case 106: /* rule 106 can match eol */ YY_RULE_SETUP -#line 553 "lexgrog.l" +#line 563 "../../../src/lexgrog.l" { yyless (0); mdoc_text ("BSD/OS"); @@ -3735,22 +3771,22 @@ YY_RULE_SETUP case 107: YY_RULE_SETUP -#line 560 "lexgrog.l" +#line 570 "../../../src/lexgrog.l" mdoc_text ("BSD (currently in alpha test)"); YY_BREAK case 108: YY_RULE_SETUP -#line 561 "lexgrog.l" +#line 571 "../../../src/lexgrog.l" mdoc_text ("BSD (currently in beta test)"); YY_BREAK case 109: YY_RULE_SETUP -#line 562 "lexgrog.l" +#line 572 "../../../src/lexgrog.l" mdoc_text ("BSD (currently under development"); YY_BREAK case 110: YY_RULE_SETUP -#line 563 "lexgrog.l" +#line 573 "../../../src/lexgrog.l" { add_wordn_to_whatis (yytext, yyleng); add_str_to_whatis ("BSD", 3); @@ -3760,7 +3796,7 @@ YY_RULE_SETUP case 111: /* rule 111 can match eol */ YY_RULE_SETUP -#line 568 "lexgrog.l" +#line 578 "../../../src/lexgrog.l" { yyless (0); mdoc_text ("BSD"); @@ -3770,7 +3806,7 @@ YY_RULE_SETUP case 112: YY_RULE_SETUP -#line 575 "lexgrog.l" +#line 585 "../../../src/lexgrog.l" { add_str_to_whatis ("-Reno", 5); BEGIN (MAN_DESC); @@ -3778,7 +3814,7 @@ YY_RULE_SETUP YY_BREAK case 113: YY_RULE_SETUP -#line 579 "lexgrog.l" +#line 589 "../../../src/lexgrog.l" { add_str_to_whatis ("-Tahoe", 6); BEGIN (MAN_DESC); @@ -3786,7 +3822,7 @@ YY_RULE_SETUP YY_BREAK case 114: YY_RULE_SETUP -#line 583 "lexgrog.l" +#line 593 "../../../src/lexgrog.l" { add_str_to_whatis ("-Lite", 5); BEGIN (MAN_DESC); @@ -3794,7 +3830,7 @@ YY_RULE_SETUP YY_BREAK case 115: YY_RULE_SETUP -#line 587 "lexgrog.l" +#line 597 "../../../src/lexgrog.l" { add_str_to_whatis ("-Lite2", 6); BEGIN (MAN_DESC); @@ -3803,7 +3839,7 @@ YY_RULE_SETUP case 116: /* rule 116 can match eol */ YY_RULE_SETUP -#line 591 "lexgrog.l" +#line 601 "../../../src/lexgrog.l" { yyless (0); BEGIN (MAN_DESC); @@ -3812,7 +3848,7 @@ YY_RULE_SETUP case 117: YY_RULE_SETUP -#line 597 "lexgrog.l" +#line 607 "../../../src/lexgrog.l" { add_str_to_whatis (yytext, yyleng); add_char_to_whatis ('"'); @@ -3822,7 +3858,7 @@ YY_RULE_SETUP case 118: YY_RULE_SETUP -#line 604 "lexgrog.l" +#line 614 "../../../src/lexgrog.l" { add_word_to_whatis ("FreeBSD"); add_wordn_to_whatis (yytext, yyleng); @@ -3832,7 +3868,7 @@ YY_RULE_SETUP case 119: /* rule 119 can match eol */ YY_RULE_SETUP -#line 609 "lexgrog.l" +#line 619 "../../../src/lexgrog.l" { yyless (0); mdoc_text ("FreeBSD"); @@ -3842,7 +3878,7 @@ YY_RULE_SETUP case 120: YY_RULE_SETUP -#line 616 "lexgrog.l" +#line 626 "../../../src/lexgrog.l" { add_word_to_whatis ("NetBSD"); add_wordn_to_whatis (yytext, yyleng); @@ -3852,7 +3888,7 @@ YY_RULE_SETUP case 121: /* rule 121 can match eol */ YY_RULE_SETUP -#line 621 "lexgrog.l" +#line 631 "../../../src/lexgrog.l" { yyless (0); mdoc_text ("NetBSD"); @@ -3862,7 +3898,7 @@ YY_RULE_SETUP case 122: YY_RULE_SETUP -#line 628 "lexgrog.l" +#line 638 "../../../src/lexgrog.l" { add_word_to_whatis ("OpenBSD"); add_wordn_to_whatis (yytext, yyleng); @@ -3872,7 +3908,7 @@ YY_RULE_SETUP case 123: /* rule 123 can match eol */ YY_RULE_SETUP -#line 633 "lexgrog.l" +#line 643 "../../../src/lexgrog.l" { yyless (0); mdoc_text ("OpenBSD"); @@ -3883,7 +3919,7 @@ YY_RULE_SETUP case 124: /* rule 124 can match eol */ YY_RULE_SETUP -#line 640 "lexgrog.l" +#line 650 "../../../src/lexgrog.l" add_char_to_whatis (' '); YY_BREAK /* a ROFF break request, a paragraph request, or an indentation change @@ -3892,29 +3928,29 @@ add_char_to_whatis (' '); case 125: /* rule 125 can match eol */ -#line 647 "lexgrog.l" +#line 657 "../../../src/lexgrog.l" case 126: /* rule 126 can match eol */ -#line 648 "lexgrog.l" +#line 658 "../../../src/lexgrog.l" case 127: /* rule 127 can match eol */ -#line 649 "lexgrog.l" +#line 659 "../../../src/lexgrog.l" case 128: /* rule 128 can match eol */ -#line 650 "lexgrog.l" +#line 660 "../../../src/lexgrog.l" case 129: /* rule 129 can match eol */ -#line 651 "lexgrog.l" +#line 661 "../../../src/lexgrog.l" case 130: /* rule 130 can match eol */ -#line 652 "lexgrog.l" +#line 662 "../../../src/lexgrog.l" case 131: /* rule 131 can match eol */ -#line 653 "lexgrog.l" +#line 663 "../../../src/lexgrog.l" case 132: /* rule 132 can match eol */ YY_RULE_SETUP -#line 653 "lexgrog.l" +#line 663 "../../../src/lexgrog.l" { add_char_to_whatis ((char) 0x11); BEGIN (MAN_NAME); @@ -3925,7 +3961,7 @@ YY_RULE_SETUP case 133: /* rule 133 can match eol */ YY_RULE_SETUP -#line 660 "lexgrog.l" +#line 670 "../../../src/lexgrog.l" { *p_name = '\0'; BEGIN (MAN_REST); @@ -3934,23 +3970,23 @@ YY_RULE_SETUP /* pass words as a chunk. speed optimization */ case 134: YY_RULE_SETUP -#line 666 "lexgrog.l" +#line 676 "../../../src/lexgrog.l" add_str_to_whatis (yytext, yyleng); YY_BREAK /* normalise the comma (,) separators */ case 135: /* rule 135 can match eol */ -#line 670 "lexgrog.l" +#line 680 "../../../src/lexgrog.l" case 136: /* rule 136 can match eol */ YY_RULE_SETUP -#line 670 "lexgrog.l" +#line 680 "../../../src/lexgrog.l" add_str_to_whatis (", ", 2); YY_BREAK case 137: /* rule 137 can match eol */ YY_RULE_SETUP -#line 672 "lexgrog.l" +#line 682 "../../../src/lexgrog.l" { newline_found (); add_char_to_whatis (yytext[yyleng - 1]); @@ -3958,7 +3994,7 @@ YY_RULE_SETUP YY_BREAK case 138: YY_RULE_SETUP -#line 677 "lexgrog.l" +#line 687 "../../../src/lexgrog.l" add_char_to_whatis (*yytext); YY_BREAK /* default EOF rule */ @@ -3976,15 +4012,15 @@ case YY_STATE_EOF(CAT_FILE): case YY_STATE_EOF(MAN_FILE): case YY_STATE_EOF(CAT_REST): case YY_STATE_EOF(FORCE_EXIT): -#line 680 "lexgrog.l" +#line 690 "../../../src/lexgrog.l" return 1; YY_BREAK case 139: YY_RULE_SETUP -#line 682 "lexgrog.l" +#line 692 "../../../src/lexgrog.l" ECHO; YY_BREAK -#line 3988 "lexgrog.c" +#line 4024 "../../../src/lexgrog.c" case YY_END_OF_BUFFER: { @@ -4280,7 +4316,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1410 ) + if ( yy_current_state >= 1436 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; @@ -4308,11 +4344,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1410 ) + if ( yy_current_state >= 1436 ) yy_c = yy_meta[yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c]; - yy_is_jam = (yy_current_state == 1409); + yy_is_jam = (yy_current_state == 1435); return yy_is_jam ? 0 : yy_current_state; } @@ -4951,7 +4987,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 682 "lexgrog.l" +#line 692 "../../../src/lexgrog.l" /* print warning and force scanner to terminate */ diff --git a/src/lexgrog.l b/src/lexgrog.l index b3b4ef61..8b7650b7 100644 --- a/src/lexgrog.l +++ b/src/lexgrog.l @@ -2,6 +2,13 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif /* HAVE_CONFIG_H */ + +/* Flex emits several functions which might reasonably have various + * attributes applied and many unused macros; none of these are our problem. + */ +#pragma GCC diagnostic ignored "-Wsuggest-attribute=malloc" +#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +#pragma GCC diagnostic ignored "-Wunused-macros" } %{ @@ -289,6 +296,7 @@ cs_name (J[Mm](É|é|\\\('[Ee]|E|e)[Nn][Oo]|N(Á|á)[Zz][Ee][Vv]) da_name N[Aa][Vv][Nn] de_name B[Ee][Zz][Ee][Ii][Cc][Hh][Nn][Uu][Nn][Gg] en_name N[Aa][Mm][Ee] +eo_name N[Oo][Mm][Oo] es_name N[Oo][Mm][Bb][Rr][Ee] fi_name N[Ii][Mm][Ii] fr_name N[Oo][Mm] @@ -307,11 +315,13 @@ sk_name M[Ee][Nn][Oo] sr_name (ИМЕ|НАЗИВ) srlatin_name (IME|NAZIV) sv_name N[Aa][Mm][Nn] +ta_name பெய tr_name (İ|i)S(İ|i)M +uk_name НАЗВА vi_name TÊN zh_CN_name 名{blank}?(称|字){blank}?.* zh_TW_name (名{blank}?(稱|字)|命令名){blank}?.* -name ({bg_name}|{cs_name}|{da_name}|{de_name}|{en_name}|{es_name}|{fi_name}|{fr_name}|{hu_name}|{id_name}|{it_name}|{ja_name}|{ko_name}|{latin_name}|{lt_name}|{nl_name}|{pl_name}|{ru_name}|{sk_name}|{sr_name}|{srlatin_name}|{sv_name}|{tr_name}|{vi_name}|{zh_CN_name}|{zh_TW_name}) +name ({bg_name}|{cs_name}|{da_name}|{de_name}|{en_name}|{eo_name}|{es_name}|{fi_name}|{fr_name}|{hu_name}|{id_name}|{it_name}|{ja_name}|{ko_name}|{latin_name}|{lt_name}|{nl_name}|{pl_name}|{ru_name}|{sk_name}|{sr_name}|{srlatin_name}|{sv_name}|{ta_name}|{tr_name}|{uk_name}|{vi_name}|{zh_CN_name}|{zh_TW_name}) name_sec {dbl_quote}?{style_change}?{name}{style_change}?({blank}*{dbl_quote})? /* eptgrv : eqn, pic, tbl, grap, refer, vgrind */ diff --git a/src/lexgrog_test.c b/src/lexgrog_test.c index 4fb39fd1..189da43c 100644 --- a/src/lexgrog_test.c +++ b/src/lexgrog_test.c @@ -131,8 +131,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) return ARGP_ERR_UNKNOWN; } -static char *help_filter (int key, const char *text, - void *input ATTRIBUTE_UNUSED) +static char *help_filter (int key, const char *text, void *input _GL_UNUSED) { switch (key) { case ARGP_KEY_HELP_PRE_DOC: @@ -554,8 +554,9 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) return ARGP_ERR_UNKNOWN; } -static char *help_filter (int key, const char *text, - void *input ATTRIBUTE_UNUSED) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wformat-nonliteral" +static char *help_filter (int key, const char *text, void *input _GL_UNUSED) { #ifdef HAS_TROFF # ifdef TROFF_IS_GROFF @@ -584,6 +585,7 @@ static char *help_filter (int key, const char *text, return (char *) text; } } +#pragma GCC diagnostic pop static struct argp argp = { options, parse_opt, args_doc, 0, 0, help_filter }; @@ -1529,7 +1531,7 @@ static void add_output_iconv (pipeline *p, /* Pipeline command to squeeze multiple blank lines into one. * */ -static void squeeze_blank_lines (void *data ATTRIBUTE_UNUSED) +static void squeeze_blank_lines (void *data _GL_UNUSED) { char *line = NULL; size_t len = 0; @@ -2040,7 +2042,7 @@ static void display_catman (const char *cat_file, pipeline *decomp, free (tmpcat); } -static void disable_hyphenation (void *data ATTRIBUTE_UNUSED) +static void disable_hyphenation (void *data _GL_UNUSED) { fputs (".nh\n" ".de hy\n" @@ -2048,7 +2050,7 @@ static void disable_hyphenation (void *data ATTRIBUTE_UNUSED) ".lf 1\n", stdout); } -static void disable_justification (void *data ATTRIBUTE_UNUSED) +static void disable_justification (void *data _GL_UNUSED) { fputs (".na\n" ".de ad\n" @@ -2311,7 +2313,9 @@ static int display (const char *dir, const char *man_file, #endif || local_man_file || recode - || disable_cache) + || disable_cache + || no_hyphenation + || no_justification) save_cat = false; if (!man_file) { @@ -2468,8 +2472,7 @@ static int display (const char *dir, const char *man_file, return found; } -static void gripe_converting_name (const char *name) ATTRIBUTE_NORETURN; -static void gripe_converting_name (const char *name) +static _Noreturn void gripe_converting_name (const char *name) { error (FATAL, 0, _("Can't convert %s to cat name"), name); abort (); /* error should have exited; help compilers prove noreturn */ @@ -4082,7 +4085,8 @@ int main (int argc, char *argv[]) get_term (); /* stores terminal settings */ #ifdef MAN_OWNER - debug ("real user = %d; effective user = %d\n", ruid, euid); + debug ("real user = %lu; effective user = %lu\n", + (unsigned long) ruid, (unsigned long) euid); #endif /* MAN_OWNER */ /* close this locale and reinitialise if a new locale was diff --git a/src/manconv.c b/src/manconv.c index 9759a28e..fbfa7619 100644 --- a/src/manconv.c +++ b/src/manconv.c @@ -336,8 +336,8 @@ void manconv (pipeline *p, char * const *from, const char *to) /* If we don't have iconv, there isn't much we can do; just pass everything * through unchanged. */ -void manconv (pipeline *p, char * const *from ATTRIBUTE_UNUSED, - const char *to ATTRIBUTE_UNUSED) +void manconv (pipeline *p, char * const *from _GL_UNUSED, + const char *to _GL_UNUSED) { for (;;) { size_t len = 4096; diff --git a/src/mandb.c b/src/mandb.c index 0a06c714..0910b964 100644 --- a/src/mandb.c +++ b/src/mandb.c @@ -81,7 +81,6 @@ int quiet = 1; extern bool opt_test; /* don't update db */ char *manp; -char *database = NULL; extern char *extension; /* for globbing.c */ extern bool force_rescan; /* for check_mandirs.c */ static char *single_filename = NULL; @@ -346,7 +345,8 @@ static void do_chown (struct dbpaths *dbpaths) #endif /* MAN_OWNER */ /* Update a single file in an existing database. */ -static int update_one_file (const char *manpath, const char *filename) +static int update_one_file (const char *database, + const char *manpath, const char *filename) { MYDBM_FILE dbf; @@ -372,18 +372,19 @@ static int update_one_file (const char *manpath, const char *filename) } /* dont actually create any dbs, just do an update */ -static int update_db_wrapper (const char *manpath, const char *catpath) +static int update_db_wrapper (const char *database, + const char *manpath, const char *catpath) { int amount; if (single_filename) - return update_one_file (manpath, single_filename); + return update_one_file (database, manpath, single_filename); - amount = update_db (manpath, catpath); + amount = update_db (database, manpath, catpath); if (amount != EOF) return amount; - return create_db (manpath, catpath); + return create_db (database, manpath, catpath); } /* remove incomplete databases */ @@ -444,7 +445,8 @@ static int mandb (struct dbpaths *dbpaths, const char *catpath, const char *manpath, bool global_manpath) { - int ret, amount; + char *database; + int amount; char *dbname; int should_create; @@ -497,15 +499,13 @@ static int mandb (struct dbpaths *dbpaths, } if (should_create) { check_remove (dbpaths->tmpdbfile); - ret = create_db (manpath, catpath); - if (ret < 0) - return ret; - amount = ret; + amount = create_db (database, manpath, catpath); + if (amount < 0) + goto out; } else { - ret = update_db_wrapper (manpath, catpath); - if (ret < 0) - return ret; - amount = ret; + amount = update_db_wrapper (database, manpath, catpath); + if (amount < 0) + goto out; } # else /* !BERKELEY_DB NDBM */ dbpaths->dirfile = xasprintf ("%s.dir", dbname); @@ -521,15 +521,13 @@ static int mandb (struct dbpaths *dbpaths, if (should_create) { check_remove (dbpaths->tmpdirfile); check_remove (dbpaths->tmppagfile); - ret = create_db (manpath, catpath); - if (ret < 0) - return ret; - amount = ret; + amount = create_db (database, manpath, catpath); + if (amount < 0) + goto out; } else { - ret = update_db_wrapper (manpath, catpath); - if (ret < 0) - return ret; - amount = ret; + amount = update_db_wrapper (database, manpath, catpath); + if (amount < 0) + goto out; } # endif /* BERKELEY_DB NDBM */ #else /* !NDBM */ @@ -541,18 +539,18 @@ static int mandb (struct dbpaths *dbpaths, } if (should_create) { check_remove (dbpaths->xtmpfile); - ret = create_db (manpath, catpath); - if (ret < 0) - return ret; - amount = ret; + amount = create_db (database, manpath, catpath); + if (amount < 0) + goto out; } else { - ret = update_db_wrapper (manpath, catpath); - if (ret < 0) - return ret; - amount = ret; + amount = update_db_wrapper (database, manpath, catpath); + if (amount < 0) + goto out; } #endif /* NDBM */ +out: + free (database); return amount; } @@ -597,10 +595,10 @@ static int process_manpath (const char *manpath, bool global_manpath, force_rescan = false; if (purge) { - database = mkdbname (catpath); - purged += purge_missing (manpath, catpath, run_mandb); + char *database = mkdbname (catpath); + purged += purge_missing (database, + manpath, catpath, run_mandb); free (database); - database = NULL; } dbpaths = XZALLOC (struct dbpaths); @@ -630,14 +628,10 @@ out: pop_cleanup (cleanup, dbpaths); } - free (database); - database = NULL; - if (check_for_strays && amount > 0) { - database = mkdbname (catpath); - strays += straycats (manpath); + char *database = mkdbname (catpath); + strays += straycats (database, manpath); free (database); - database = NULL; } free (catpath); @@ -190,7 +190,7 @@ static const char *describe_flag (enum config_flag flag) case SECTION_USER: return "SECTION_USER"; default: - error (FATAL, 0, "impossible config_flag value %d", + error (FATAL, 0, "impossible config_flag value %u", flag); abort (); /* error should have exited */ } @@ -835,7 +835,7 @@ next: free (buf); } -static void free_config_file (void *unused ATTRIBUTE_UNUSED) +static void free_config_file (void *unused _GL_UNUSED) { gl_list_free (config); } diff --git a/src/manpath.c b/src/manpath.c index 97e27376..ca71101b 100644 --- a/src/manpath.c +++ b/src/manpath.c @@ -45,12 +45,10 @@ #include "manconfig.h" #include "error.h" -#include "sandbox.h" #include "manp.h" int quiet = 0; -man_sandbox *sandbox; /* unused, but needed by libman */ static bool cat = false; static bool global = false; diff --git a/src/straycats.c b/src/straycats.c index 0f4c50ee..577eab07 100644 --- a/src/straycats.c +++ b/src/straycats.c @@ -333,7 +333,7 @@ static int open_catdir (MYDBM_FILE dbf) return strays; } -int straycats (const char *manpath) +int straycats (const char *database, const char *manpath) { MYDBM_FILE dbf; char *catpath; diff --git a/src/tests/Makefile.in b/src/tests/Makefile.in index 74cae23b..5fea9ed0 100644 --- a/src/tests/Makefile.in +++ b/src/tests/Makefile.in @@ -183,6 +183,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -610,6 +611,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -817,6 +819,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -891,6 +894,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -898,6 +902,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -979,6 +984,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -1001,6 +1007,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -1051,6 +1058,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -1070,6 +1078,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -1170,8 +1179,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -1194,7 +1201,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1340,6 +1346,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1388,6 +1395,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1401,6 +1409,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1421,6 +1430,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ diff --git a/src/tests/fspause.c b/src/tests/fspause.c index 64a6e894..092fbb4f 100644 --- a/src/tests/fspause.c +++ b/src/tests/fspause.c @@ -84,7 +84,7 @@ static int try_delay (struct stat *st, int delay_ns) return timespec_cmp (start_ts, end_ts) != 0; } -int main (int argc ATTRIBUTE_UNUSED, char **argv) +int main (int argc _GL_UNUSED, char **argv) { struct stat st; int delay_ns; diff --git a/src/whatis.c b/src/whatis.c index 8b648121..d2559169 100644 --- a/src/whatis.c +++ b/src/whatis.c @@ -89,7 +89,6 @@ static char **keywords; static int num_keywords; bool am_apropos; -char *database; int quiet = 1; man_sandbox *sandbox; @@ -242,8 +241,7 @@ static error_t parse_opt (int key, char *arg, struct argp_state *state) return ARGP_ERR_UNKNOWN; } -static char *help_filter (int key, const char *text, - void *input ATTRIBUTE_UNUSED) +static char *help_filter (int key, const char *text, void *input _GL_UNUSED) { switch (key) { case ARGP_KEY_HELP_PRE_DOC: @@ -638,7 +636,7 @@ static void parse_name (const char * const *pages, int num_pages, } /* return true on word match */ -static bool match (const char *page, const char *whatis) +static bool _GL_ATTRIBUTE_PURE match (const char *page, const char *whatis) { size_t len = strlen (page); const char *begin; @@ -719,7 +717,7 @@ static void do_apropos (MYDBM_FILE dbf, while (MYDBM_DPTR (key)) { cont = MYDBM_FETCH (dbf, key); #else /* BTREE */ - end = btree_nextkeydata (dbf, &key, &cont); + end = man_btree_nextkeydata (dbf, &key, &cont); while (!end) { #endif /* !BTREE */ char *tab; @@ -738,7 +736,7 @@ static void do_apropos (MYDBM_FILE dbf, error (FATAL, 0, _("Database %s corrupted; rebuild with " "mandb --create"), - database); + dbf->name); } if (*MYDBM_DPTR (key) == '$') @@ -749,7 +747,7 @@ static void do_apropos (MYDBM_FILE dbf, /* a real page */ - split_content (MYDBM_DPTR (cont), &info); + split_content (dbf, MYDBM_DPTR (cont), &info); /* If there are sections given, does any of them match * either the section or extension of this page? @@ -800,7 +798,7 @@ nextpage: #else /* BTREE */ MYDBM_FREE_DPTR (cont); MYDBM_FREE_DPTR (key); - end = btree_nextkeydata (dbf, &key, &cont); + end = man_btree_nextkeydata (dbf, &key, &cont); #endif /* !BTREE */ info.addr = NULL; /* == MYDBM_DPTR (cont), freed above */ free_mandata_elements (&info); @@ -818,6 +816,7 @@ static bool search (const char * const *pages, int num_pages) int i; GL_LIST_FOREACH_START (manpathlist, mp) { + char *database; MYDBM_FILE dbf; catpath = get_catpath (mp, SYSTEM_CAT | USER_CAT); @@ -848,9 +847,8 @@ static bool search (const char * const *pages, int num_pages) else do_whatis (dbf, pages, num_pages, mp, found); } - free (database); - database = NULL; MYDBM_CLOSE (dbf); + free (database); } GL_LIST_FOREACH_END (manpathlist); chkr_garbage_detector (); diff --git a/src/zsoelim.c b/src/zsoelim.c index b2e62052..67908daf 100644 --- a/src/zsoelim.c +++ b/src/zsoelim.c @@ -2,7 +2,14 @@ # include "config.h" #endif /* HAVE_CONFIG_H */ -#line 6 "zsoelim.c" +/* Flex emits several functions which might reasonably have various + * attributes applied and many unused macros; none of these are our problem. + */ +#pragma GCC diagnostic ignored "-Wsuggest-attribute=malloc" +#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +#pragma GCC diagnostic ignored "-Wunused-macros" + +#line 13 "../../../src/zsoelim.c" #define YY_INT_ALIGNED short int @@ -759,9 +766,9 @@ int yy_flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; -#line 1 "zsoelim.l" +#line 1 "../../../src/zsoelim.l" -#line 8 "zsoelim.l" +#line 15 "../../../src/zsoelim.l" /* * zsoelim.l: eliminate .so includes within *roff source @@ -871,9 +878,9 @@ struct zsoelim_stdin_data { result = YY_NULL; \ } #define YY_NO_INPUT -#line 875 "zsoelim.c" +#line 882 "../../../src/zsoelim.c" -#line 877 "zsoelim.c" +#line 884 "../../../src/zsoelim.c" #define INITIAL 0 #define so 1 @@ -1096,10 +1103,10 @@ YY_DECL } { -#line 131 "zsoelim.l" +#line 138 "../../../src/zsoelim.l" -#line 1103 "zsoelim.c" +#line 1110 "../../../src/zsoelim.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -1147,7 +1154,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 133 "zsoelim.l" +#line 140 "../../../src/zsoelim.l" { no_newline = 1; ECHO; @@ -1156,7 +1163,7 @@ YY_RULE_SETUP YY_BREAK case 2: YY_RULE_SETUP -#line 139 "zsoelim.l" +#line 146 "../../../src/zsoelim.l" { no_newline = 1; BEGIN (so); /* Now we're in the .so environment */ @@ -1164,7 +1171,7 @@ YY_RULE_SETUP YY_BREAK case 3: YY_RULE_SETUP -#line 144 "zsoelim.l" +#line 151 "../../../src/zsoelim.l" { no_newline = 1; ECHO; /* Now we're in the .lf environment */ @@ -1172,26 +1179,26 @@ YY_RULE_SETUP } YY_BREAK case 4: -#line 151 "zsoelim.l" +#line 158 "../../../src/zsoelim.l" case 5: /* rule 5 can match eol */ -#line 152 "zsoelim.l" +#line 159 "../../../src/zsoelim.l" case 6: /* rule 6 can match eol */ -#line 153 "zsoelim.l" +#line 160 "../../../src/zsoelim.l" case 7: /* rule 7 can match eol */ -#line 154 "zsoelim.l" +#line 161 "../../../src/zsoelim.l" case 8: /* rule 8 can match eol */ -#line 155 "zsoelim.l" +#line 162 "../../../src/zsoelim.l" case 9: /* rule 9 can match eol */ -#line 156 "zsoelim.l" +#line 163 "../../../src/zsoelim.l" case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 156 "zsoelim.l" +#line 163 "../../../src/zsoelim.l" { no_newline = 1; ECHO; @@ -1200,7 +1207,7 @@ YY_RULE_SETUP case 11: /* rule 11 can match eol */ YY_RULE_SETUP -#line 161 "zsoelim.l" +#line 168 "../../../src/zsoelim.l" { no_newline = 0; putchar ('\n'); @@ -1209,7 +1216,7 @@ YY_RULE_SETUP YY_BREAK case 12: YY_RULE_SETUP -#line 168 "zsoelim.l" +#line 175 "../../../src/zsoelim.l" { /* file names including whitespace ? */ if (so_stack_ptr == MAX_SO_DEPTH - 1) error (FATAL, 0, @@ -1245,7 +1252,7 @@ YY_RULE_SETUP case 13: /* rule 13 can match eol */ YY_RULE_SETUP -#line 200 "zsoelim.l" +#line 207 "../../../src/zsoelim.l" { no_newline = 0; BEGIN (INITIAL); @@ -1254,7 +1261,7 @@ YY_RULE_SETUP case 14: /* rule 14 can match eol */ YY_RULE_SETUP -#line 205 "zsoelim.l" +#line 212 "../../../src/zsoelim.l" { no_newline = 0; error (OK, 0, @@ -1268,7 +1275,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 216 "zsoelim.l" +#line 223 "../../../src/zsoelim.l" { no_newline = 1; ECHO; @@ -1277,7 +1284,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 222 "zsoelim.l" +#line 229 "../../../src/zsoelim.l" { no_newline = 1; ECHO; @@ -1286,7 +1293,7 @@ YY_RULE_SETUP case 17: /* rule 17 can match eol */ YY_RULE_SETUP -#line 227 "zsoelim.l" +#line 234 "../../../src/zsoelim.l" { no_newline = 0; putchar ('\n'); @@ -1295,7 +1302,7 @@ YY_RULE_SETUP YY_BREAK case 18: YY_RULE_SETUP -#line 234 "zsoelim.l" +#line 241 "../../../src/zsoelim.l" { no_newline = 1; ECHO; @@ -1306,7 +1313,7 @@ YY_RULE_SETUP YY_BREAK case 19: YY_RULE_SETUP -#line 242 "zsoelim.l" +#line 249 "../../../src/zsoelim.l" { /* file names including whitespace ?? */ no_newline = 1; ECHO; @@ -1320,7 +1327,7 @@ YY_RULE_SETUP YY_BREAK case 20: YY_RULE_SETUP -#line 253 "zsoelim.l" +#line 260 "../../../src/zsoelim.l" { no_newline = 1; ECHO; @@ -1329,7 +1336,7 @@ YY_RULE_SETUP case 21: /* rule 21 can match eol */ YY_RULE_SETUP -#line 258 "zsoelim.l" +#line 265 "../../../src/zsoelim.l" { no_newline = 0; putchar ('\n'); @@ -1339,7 +1346,7 @@ YY_RULE_SETUP YY_BREAK case 22: YY_RULE_SETUP -#line 265 "zsoelim.l" +#line 272 "../../../src/zsoelim.l" { no_newline = 1; error (OK, 0, @@ -1353,7 +1360,7 @@ YY_RULE_SETUP case 23: /* rule 23 can match eol */ YY_RULE_SETUP -#line 275 "zsoelim.l" +#line 282 "../../../src/zsoelim.l" { no_newline = 0; error (OK, 0, @@ -1371,7 +1378,7 @@ case YY_STATE_EOF(de): case YY_STATE_EOF(end_request): case YY_STATE_EOF(lfnumber): case YY_STATE_EOF(lfname): -#line 286 "zsoelim.l" +#line 293 "../../../src/zsoelim.l" { pipeline_wait (PIPE); pipeline_free (PIPE); @@ -1395,10 +1402,10 @@ case YY_STATE_EOF(lfname): YY_BREAK case 24: YY_RULE_SETUP -#line 306 "zsoelim.l" +#line 313 "../../../src/zsoelim.l" ECHO; YY_BREAK -#line 1402 "zsoelim.c" +#line 1409 "../../../src/zsoelim.c" case YY_END_OF_BUFFER: { @@ -2357,7 +2364,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 306 "zsoelim.l" +#line 313 "../../../src/zsoelim.l" #ifdef ACCEPT_QUOTES diff --git a/src/zsoelim.l b/src/zsoelim.l index 346dfbd3..1180786d 100644 --- a/src/zsoelim.l +++ b/src/zsoelim.l @@ -2,6 +2,13 @@ #ifdef HAVE_CONFIG_H # include "config.h" #endif /* HAVE_CONFIG_H */ + +/* Flex emits several functions which might reasonably have various + * attributes applied and many unused macros; none of these are our problem. + */ +#pragma GCC diagnostic ignored "-Wsuggest-attribute=malloc" +#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" +#pragma GCC diagnostic ignored "-Wunused-macros" } %{ diff --git a/src/zsoelim_main.c b/src/zsoelim_main.c index da0b0fa0..d74a28d5 100644 --- a/src/zsoelim_main.c +++ b/src/zsoelim_main.c @@ -37,7 +37,6 @@ #include "gettext.h" #include <locale.h> -#define _(String) gettext (String) #define N_(String) gettext_noop (String) #include "manconfig.h" @@ -72,7 +71,7 @@ static struct argp_option options[] = { { 0 } }; -static error_t parse_opt (int key, char *arg ATTRIBUTE_UNUSED, +static error_t parse_opt (int key, char *arg _GL_UNUSED, struct argp_state *state) { switch (key) { diff --git a/tools/Makefile.in b/tools/Makefile.in index ed90e1d6..a77574ab 100644 --- a/tools/Makefile.in +++ b/tools/Makefile.in @@ -184,6 +184,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/man-arg-automatic-create.m4 \ $(top_srcdir)/gl/m4/ltversion.m4 \ $(top_srcdir)/gl/m4/lt~obsolete.m4 \ $(top_srcdir)/gl/m4/malloc.m4 $(top_srcdir)/gl/m4/malloca.m4 \ + $(top_srcdir)/gl/m4/manywarnings.m4 \ $(top_srcdir)/gl/m4/mbrtowc.m4 $(top_srcdir)/gl/m4/mbsinit.m4 \ $(top_srcdir)/gl/m4/mbsrtowcs.m4 \ $(top_srcdir)/gl/m4/mbstate_t.m4 $(top_srcdir)/gl/m4/mbtowc.m4 \ @@ -357,6 +358,7 @@ GNULIB_CHOWN = @GNULIB_CHOWN@ GNULIB_CLOSE = @GNULIB_CLOSE@ GNULIB_CLOSEDIR = @GNULIB_CLOSEDIR@ GNULIB_CONNECT = @GNULIB_CONNECT@ +GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@ GNULIB_CTIME = @GNULIB_CTIME@ GNULIB_DIRFD = @GNULIB_DIRFD@ GNULIB_DPRINTF = @GNULIB_DPRINTF@ @@ -564,6 +566,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@ GNULIB_STRSTR = @GNULIB_STRSTR@ GNULIB_STRTOD = @GNULIB_STRTOD@ GNULIB_STRTOK_R = @GNULIB_STRTOK_R@ +GNULIB_STRTOLD = @GNULIB_STRTOLD@ GNULIB_STRTOLL = @GNULIB_STRTOLL@ GNULIB_STRTOULL = @GNULIB_STRTOULL@ GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@ @@ -638,6 +641,7 @@ GNULIB_WRITE = @GNULIB_WRITE@ GNULIB__EXIT = @GNULIB__EXIT@ GREP = @GREP@ HAVE_ACCEPT4 = @HAVE_ACCEPT4@ +HAVE_ALLOCA_H = @HAVE_ALLOCA_H@ HAVE_ALPHASORT = @HAVE_ALPHASORT@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -645,6 +649,7 @@ HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@ HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@ HAVE_CHOWN = @HAVE_CHOWN@ HAVE_CLOSEDIR = @HAVE_CLOSEDIR@ +HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@ HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@ HAVE_DECL_DIRFD = @HAVE_DECL_DIRFD@ HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@ @@ -726,6 +731,7 @@ HAVE_GLOB_H = @HAVE_GLOB_H@ HAVE_GLOB_PATTERN_P = @HAVE_GLOB_PATTERN_P@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ HAVE_ISWBLANK = @HAVE_ISWBLANK@ HAVE_ISWCNTRL = @HAVE_ISWCNTRL@ @@ -748,6 +754,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@ HAVE_MBSLEN = @HAVE_MBSLEN@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ +HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMCHR = @HAVE_MEMCHR@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ @@ -798,6 +805,7 @@ HAVE_SCANDIR = @HAVE_SCANDIR@ HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@ HAVE_SETENV = @HAVE_SETENV@ HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@ +HAVE_SETSTATE = @HAVE_SETSTATE@ HAVE_SIGACTION = @HAVE_SIGACTION@ HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@ HAVE_SIGINFO_T = @HAVE_SIGINFO_T@ @@ -817,6 +825,7 @@ HAVE_STRPBRK = @HAVE_STRPBRK@ HAVE_STRPTIME = @HAVE_STRPTIME@ HAVE_STRSEP = @HAVE_STRSEP@ HAVE_STRTOD = @HAVE_STRTOD@ +HAVE_STRTOLD = @HAVE_STRTOLD@ HAVE_STRTOLL = @HAVE_STRTOLL@ HAVE_STRTOULL = @HAVE_STRTOULL@ HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@ @@ -917,8 +926,6 @@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBMULTITHREAD = @LIBMULTITHREAD@ LIBOBJS = @LIBOBJS@ -LIBPTH = @LIBPTH@ -LIBPTH_PREFIX = @LIBPTH_PREFIX@ LIBS = @LIBS@ LIBSOCKET = @LIBSOCKET@ LIBTHREAD = @LIBTHREAD@ @@ -941,7 +948,6 @@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBMULTITHREAD = @LTLIBMULTITHREAD@ LTLIBOBJS = @LTLIBOBJS@ -LTLIBPTH = @LTLIBPTH@ LTLIBTHREAD = @LTLIBTHREAD@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ @@ -1087,6 +1093,7 @@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GLOB = @REPLACE_GLOB@ REPLACE_GLOB_PATTERN_P = @REPLACE_GLOB_PATTERN_P@ REPLACE_GMTIME = @REPLACE_GMTIME@ +REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_IOCTL = @REPLACE_IOCTL@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ @@ -1135,6 +1142,7 @@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ REPLACE_RAISE = @REPLACE_RAISE@ +REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ REPLACE_READLINK = @REPLACE_READLINK@ @@ -1148,6 +1156,7 @@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SELECT = @REPLACE_SELECT@ REPLACE_SETENV = @REPLACE_SETENV@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ +REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ REPLACE_SNPRINTF = @REPLACE_SNPRINTF@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ @@ -1168,6 +1177,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@ REPLACE_STRSTR = @REPLACE_STRSTR@ REPLACE_STRTOD = @REPLACE_STRTOD@ REPLACE_STRTOK_R = @REPLACE_STRTOK_R@ +REPLACE_STRTOLD = @REPLACE_STRTOLD@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ |